1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
58: 名前は開発中のものです。 [sage] 2010/07/25(日) 16:13:03 ID:Vl6SpnXH ふむふむ まずヘッダーの重複読み込みを気にしているようだけど、「#pragma once」は記述している? ちなみにマクロを使って同じ事も出来る ttp://www.geocities.co.jp/SiliconValley/6071/technic/16.html そして「error C2146: 構文エラー : ';' が、識別子〜」は、行数を特定しにくいエラーの一つだけど これを発見するには、デバッグの基本技の一つ「コメントアウト」が有効 例えば、以下のように4つの関数があったとする void A(){} void B(){} void C(){} void D(){} このCとDをコメントアウトしてコンパイル void A(){} void B(){} /* void C(){} void D(){} */ これでC2146エラーが消えたようならCかD、残るようならAかBに絞り込める 消えた場合Cだけコメントアウトすれば、特定の関数まで絞り込める この方法を使えば、例えば500行のソースが書かれている場合 その約半分250行くらいから下をコメントアウト、さらにその半分、さらにその半分・・・と機械的に絞り込む事が出来る http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/58
61: SGGK ◆6pZCoAtaxk [sage] 2010/07/26(月) 22:44:04 ID:HmEvw+7E >>57>>58>>59>>60 たぶんまだ正解ではないんだろうなという雰囲気が伝わってきたので、再考。 まず、>>58氏の#pragma onceを試して、もう一度soccergame.hをfieldplayercontrol.hにインクルードしてみたがやはり同じバグが発生。 でも、#pragma onceなら1行で、しかも同じ書き方でインクルードガードできるから便利。(感謝!、絞り込みも活用します。) 次に昨日書いた循環参照について。 soccergame.hをfieldplayercontrol.hにインクルードした時、soccergame.hの中では、FieldPlayerControlクラス型の実体を定義してるけど、 fieldplayercontrol.hの中でSoccerGameクラス型の実体を定義してはいないから、循環参照ではなかったかもしれないという気がしてきた。 お互いをインクルードしあってるだけでは循環参照に必ずしもなるとはいえないかもしれない。自信はないけど。 そこで、soccergame.hをfieldplayercontrol.hにインクルードした時のfieldplayercontrol.hの中身はどうなっているのかソースにして追いかけてみようとふと思った。 ひとつ気になった。 soccergame.hはその中で#include"fieldplayercontrol.h" してるので、soccergame.hをfieldplayercontrol.hにインクルードしたら、 fieldplayercontrol.h の中で #include"fieldplayercontrol.h"されるのだろうか? なぜなら、もともとのfieldplayercontrol.hは、#include"fieldplayercontrol.h"なんてしてないから、インクルードガードされないんじゃないかなと思ったので。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/61
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.515s*