ファイル分割と構造体

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

ファイル分割と構造体

#1

投稿記事 by あらい16 » 6年前

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

box
記事: 2002
登録日時: 13年前

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

#2

投稿記事 by box » 6年前

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

あらい16

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したほうがいいのでしょうか?

アバター
にこよん
記事: 113
登録日時: 7年前
住所: 大阪府
連絡を取る:

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

#4

投稿記事 by にこよん » 6年前

構造体を<saveData.h>で定義し、<saveData.cpp>とmainの両方でincludeすればいいのでは?
最近は東方風アクションゲームを少しずつ作ってる人です
東方翠風燐FreeDownload⇒http://dxlib.o.oo7.jp/cgi/patio/read.cgi?no=212

アバター
usao
記事: 1887
登録日時: 11年前

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

#5

投稿記事 by usao » 6年前

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

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

あらい16

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

#6

投稿記事 by あらい16 » 6年前

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

アバター
にこよん
記事: 113
登録日時: 7年前
住所: 大阪府
連絡を取る:

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

#7

投稿記事 by にこよん » 6年前

あらい16 さんが書きました: すいません、ここに来てincludeの質問なのですが、インクルードガードを書いた場合二度目のincludeはスキップされますよね?
そこで、上記のように2つのソースファイルでincludeした場合の処理はどうなるのでしょうか?スキップされないのですか?
「同じ」ソースファイルでは2回読み込まれないだけなので2つの(別の)ソースファイルであればいくらでもincludeできます。
最近は東方風アクションゲームを少しずつ作ってる人です
東方翠風燐FreeDownload⇒http://dxlib.o.oo7.jp/cgi/patio/read.cgi?no=212

あらい16

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

#8

投稿記事 by あらい16 » 6年前

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

返信

“C言語何でも質問掲示板” へ戻る