1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
50: SGGK ◆6pZCoAtaxk [sage] 2010/07/22(木) 00:32:00 ID:umEPonN6 >>49 こんばんは!。見ている人がいるからには、諦めずにもう少し頑張ってみようと思います。 自分もいつかは3Dをやりたいと思っているので、Blenderの事は記憶に留めておきます。 >48のバグは、最初「error C2146: 構文エラー : ';' が、識別子 の前に必要です。」で検索したところ、 その中で、「変数宣言の位置によってエラーになったりならなかったり ...」という言葉が目に付き、 ソースを見たところ、ヘッダファイルの左端の縦棒が太く表示されていて何かここに問題のあるしるしなのかと思い、 考えてみると、今回、選手の移動関数の引数として読み込ませたいと思っている変数は、 enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; で、これはsoccergame.hで宣言されてて、しかし、選手の移動関数は fieldplayercontrol.hで宣言されているので、ならば、fieldplayercontrol.hの上の行に #include "soccergame.h"をいれてやればいいのではと思ってそうした。 しかし、先ほどのMATCHSTATEはクラスなどの外側に記述してあるので、コンパイルしたら、 soccergame.hと#include "soccergame.h"したfieldplayercontrol.hとで重複してしまうのではと思い、 #include "soccergame.h"を消したら、コンパイルできた!…という話。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/50
52: 名前は開発中のものです。 [sage] 2010/07/23(金) 02:53:39 ID:C4gQhbld >>50 つまり・・・どういうことだってばよ いやすまん、偶然スレ覗いたら気になったんでちょっと質問させて欲しい enum A{}; enum A{}; void main{} 例えばこう書くと、VisualC++では「error C2011: 'A' : 'enum' 型の再定義」っていうエラーになるんだけど >>50の下6行で言いたいのは、こういう事とは違うの? http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/52
53: SGGK ◆6pZCoAtaxk [sage] 2010/07/25(日) 12:32:50 ID:p6Ls+avh > >>50の下6行で言いたいのは、こういう事とは違うの? そうです。その通りです。 「選手移動処理の関数」に「前半か後半かを判断する変数」つまり enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; を引数として持たせたい。 でも、この「前半か後半かを判断する変数」の宣言は、soccergame.hにあり、「選手移動処理の関数」の宣言はfieldplayercontrol.hにあるので、 fieldplayercontrol.hの中でsoccergame.hを#includeしなければ、引数として認識できないかなと思った。 でもそうするとfieldplayercontrol.hとsoccergame.hの両方に enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; があるので、コンパイルしたときに enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; void main{} と2重になるので、 C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。 というエラーが出てるのかと思った。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/53
54: SGGK ◆6pZCoAtaxk [sage] 2010/07/25(日) 12:35:16 ID:p6Ls+avh しかし、>>52氏の指摘が気になり、試しにfieldplayercontrol.hに enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; だけを直接書きこんでみると、 error C2011: 'MATCHSTATE' : 'enum' 型の再定義 というエラーが出た。 自分が思っていたバグの原因は間違いで、 >>50で >#include "soccergame.h"を消したら、コンパイルできた! ときのコンパイルできた理由はほかにあるらしく、 しかもenum MATCHSTATE{略};は問題なく認識されていたらしい…orz (>>52←指摘ありがとうございます!) http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/54
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.879s*