- 815 名前:433 mailto:sage [2012/08/04(土) 15:10:11.10 ]
- みなさんのお力をお借りさせてください。
void Object () { if ( switch_01 == 1 ) { /* 構造体変数の宣言 */ struct s_int iobject ; // iobject /* 構造体変数の初期化 */ // iobject.index = "1" ; // char型の文字代入ができない問題 iobject.x = 112 ; iobject.y = 96 ; switch_01 = 0 ; // 初期化スイッチを切る(0がOFF) これでもうこの処理には入らない } DrawGraph ( iobject.x , iobject.y , SPRITE [ 0 ] , TRUE ) ; // キャラクターを表示する } 構造体変数の利用についてです。コメント等は読み飛ばして〜〜〜〜! これで最後のDrawGraph(すいません。不可解な単語は全部ルーチン名です)の引数[iobject.x,iobject.y]が定義されていない、とコンパイラ君に言われるのですが、構造体変数って同じ階層で定義してその階層でしか参照できないのでしょうか? ifを使わずに同じ階層で処理を実行すると普通にコンパイルを通過できたので…。この辺りのルールがCの教科書には載っていません><; ちなみに構造体データ型定義は別で行っています。switch_01は変数ですが、if文内の処理が初期化の処理で1度だけ実行したかったのでフラグ的な役割をしているだけです。(これらは別にどうでもよかったf^^;
|

|