turn);の扱いに困っています。外部ファイルのグロ-バル変数を参照するためにextern宣言をしているのですがこの変数の定義がGame.cpp内の初期化関数にあるのでうまくいってないのだと思っています。今行いたい処理は、前回質問した通りのプログラムが動いてくれればいいのですが、このシーンを管理する処理でつまずいています。そもそもファイルの分け方がこれでいいのかすらわかっていません・・・わかりにくい質問になってしまったのでわかりずらいところは指摘を入れてもらいながらの返信をお待ちしております。前回の質問http://dixq.net/forum/viewtopic.php?f=3&t=19439※なぜかファイルの添付がうまくいかなかったのでベタ打ちです、すみません。Init_First(),メインループにはChangeScene()のみです※ヘッダーファイルには関数のプロトタイプ宣言のみしてあります※コンパイラーはvisualstudio2017,です。本当にわかりにくい質問ですね。「この変数の定義がGame.cpp内の初期化関数にある」ってどういうことですか?ローカル変数(なのかもわかりませんが)はextern宣言しても外部ファイルからは参照できないでしょう。「前回質問した通りのプログラム」って何ですか?リンクかプログラムがあるとわかりやすいかもしれません。入れ違いでコードが投稿されたようですね。これから読もうと思います。^というエラーが出ました。enumは変数や関数の宣言や定義ではなく型の宣言なので、externは不要(むしろ蛇足)ですね。返信ありがとうございますenumのexternを直しました。13行目のexternを削除し、以下のファイルを加えた所、コンパイルは通りました。extrenを使うと外部ファイルからでもプロトタイプ宣言した関数やグローバル変数を参照できるという認識であっているのでしょうか?プロトタイプ宣言した関数やグローバル関数であっても、staticを用いて定義したものはexternを使っても参照できないでしょう。2年前オフトピックexternって、C++では使う機会あまりないからね...。デバッグは投げ捨てるものではない。今までの質問でこれは学んだこと。質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。仕様書の大切さを改めて思い知った...。turn);の扱いに困っています。Game:でやっている処理をその関数に移した方がいいと思います。返信ありがとうございます。自分のやりたいことをまとめるとSceneManager.cppですべてのシーン(タイトルなど)とゲームの処理をまとめて、メインループには、ChangeScene()と、シャットダウンする処理のみを書くつもりで設計しています。ChangeScene()内の引数のある関数をそのファイル内でも使えるようにしたいのです。そもそもそれは可能なのでしょうか?見当違いでしたらすみません。機能の追加をしやすくするために、SceneManager.cppを作りました。申し訳ありませんPut関数内の処理に致命的なミスがあったので直しておきます変更前for(vec=0;vec<0;++vec)変更後for(vec=0;vec<BOARDSIZE;++vec)です。2年前みけcatさんの通り1フレームだけオセロをする処理を書いたところうまくいきました。for(vec=0;vec<0;++vec)こういうfor文のタイプミスは、よくありがちだと思います。デバッグは投げ捨てるものではない。今までの質問でこれは学んだこと。質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。仕様書の大切さを改めて思い知った...。ミクプラは自由にリンクできます。