初めて、トピックを立てさせていただきます。
現在、DxLibとVC++を使ってゲームを制作しています。
ですが、構造体について困ったことがあるので、質問させていただきます。
ソースファイルをmain.cpp、game.cpp、loading.cppに分割して、
main.cppとgame.cppで使っているグラフィックハンドルを1つの構造体にまとめてloading.cppで使いたいのですが、
どのようにして渡せばよいかわかりません。
詳しく書くと
main.cpp - WinMain関数とタイトル画面の処理をする関数が記述されている。
game.cpp - gamemain関数(自作)が記述されている。
loading.cpp - loadfiles関数(自作)が記述されている。
そこでこの2つをloadfiles関数でロードしたいとします。
int g_handleTitleimage; // タイトル画面の画像 (main.cpp)
int g_handlePlayerimage; // プレーヤーの画像 (game.cpp)
自分で考えたのは
構造体について
Re: 構造体について
struct data{
int handleTitleimage;
int handlePlayerimage;
};
この部分はdataの定義ですが、
struct data picture;
この部分はdata型の変数pictureを宣言しているという認識でいいですか。
int handleTitleimage;
int handlePlayerimage;
};
この部分はdataの定義ですが、
struct data picture;
この部分はdata型の変数pictureを宣言しているという認識でいいですか。
Re: 構造体について
定義のしすぎなのでうまくいかない、という状況がよくわかりません。aridai さんが書きました: これを3つのcppファイルの対応するヘッダファイルに書くことでしたが、
定義のしすぎなので、うまくいきません。
他にもいろいろ試したのですが、うまく行きませんでした。
コンパイル時あるいは実行時に何かエラーメッセージが出ているのであれば、
そのすべてを見せてください。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 構造体について
想像ですが、 の多重定義ではないでしょうか?box さんが書きました:定義のしすぎなのでうまくいかない、という状況がよくわかりません。aridai さんが書きました: これを3つのcppファイルの対応するヘッダファイルに書くことでしたが、
定義のしすぎなので、うまくいきません。
他にもいろいろ試したのですが、うまく行きませんでした。
一つの方法としては、龍神録プログラミングの館の宣言の仕方を工夫しようを参考にするといいかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 構造体について
上の"load.cppでインクルードガードをつけたmain.cppをインクルードしてみました。"は間違いです。
main.hでした。
main.hでした。