ファイル分割と構造体

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: ファイル分割と構造体

Re: ファイル分割と構造体

#8

by あらい16 » 6年前

にこよん さんが書きました: 「同じ」ソースファイルでは2回読み込まれないだけなので2つの(別の)ソースファイルであればいくらでもincludeできます。
なるほど、そういう処理を行ってたのですね。
どうやら意味を履き違えていたみたいです。助言を参考にひとまずは組んでみます。

Re: ファイル分割と構造体

#7

by にこよん » 6年前

あらい16 さんが書きました: すいません、ここに来てincludeの質問なのですが、インクルードガードを書いた場合二度目のincludeはスキップされますよね?
そこで、上記のように2つのソースファイルでincludeした場合の処理はどうなるのでしょうか?スキップされないのですか?
「同じ」ソースファイルでは2回読み込まれないだけなので2つの(別の)ソースファイルであればいくらでもincludeできます。

Re: ファイル分割と構造体

#6

by あらい16 » 6年前

usao さんが書きました: 「その構造体の定義が書かれたヘッダ」を用意し,それをmainとsaveData.cppの双方でincludeする.
(saveData.hではinclude不要,もしくは前方宣言で済むように思う.)
すいません、ここに来てincludeの質問なのですが、インクルードガードを書いた場合二度目のincludeはスキップされますよね?
そこで、上記のように2つのソースファイルでincludeした場合の処理はどうなるのでしょうか?スキップされないのですか?

Re: ファイル分割と構造体

#5

by usao » 6年前

構造体の用途次第でしょうけど,DataのSaveにだけ使うので無いならば,その構造体をsaveData.hで定義するのは違う感.

「その構造体の定義が書かれたヘッダ」を用意し,それをmainとsaveData.cppの双方でincludeする.
(saveData.hではinclude不要,もしくは前方宣言で済むように思う.)

Re: ファイル分割と構造体

#4

by にこよん » 6年前

構造体を<saveData.h>で定義し、<saveData.cpp>とmainの両方でincludeすればいいのでは?

Re: ファイル分割と構造体

#3

by あらい16 » 6年前

[quote="box" id=3,19572,147846
何をしたときにどううまくいかないのかが全くわかりませんので、お答えのしようがありません。[/quote]

そうでした、申し訳ありません。
<saveData.h> → 引数の構造体にdatファイルから読み込んだデータを代入する関数宣言
<saveData.cpp> → 上記の関数定義
<main.cpp> → saveData.hをinclude、構造体を定義、上記の関数呼び出し

としています。が、saveDataの.h .cppともに構造体が定義されていませんとエラーが出ます。
この場合は構造体を定義するファイルを作り、全ソースファイルでincludeしたほうがいいのでしょうか?

Re: ファイル分割と構造体

#2

by box » 6年前

あらい16 さんが書きました: ファイルを分割したときに、複数のソースファイルから一つの構造体でやり取りできるようにしたいと考えているのですがどうにもうまくいきません。
何をしたときにどううまくいかないのかが全くわかりませんので、お答えのしようがありません。
せめて、ソースコードやエラーメッセージを開示してはいただけないでしょうか。

ファイル分割と構造体

#1

by あらい16 » 6年前

タイトルの内容の質問です。
現在短めのRPGを作成しています。主人公のパラメータなどを構造体で管理しようと考えているため、ファイルを分割したときに、複数のソースファイルから一つの構造体でやり取りできるようにしたいと考えているのですがどうにもうまくいきません。
そこで、皆様の知恵をお借りしたいです。皆様はどういった方法でデータを扱っているのでしょうか?
また、複数のソースファイルから同一の構造体にアクセスすることは可能でしょうか?

ページトップ