- ベストアンサー
他のクラスから呼び出した関数の戻り値がおかしい
今、アクションゲームのようなものを作成しています。 このプログラムには Map_Draw クラスと Jchara クラスの二つのクラスが存在しており、 Map_Draw クラスには mapdata というプライベートな二次元配列が存在し、マップのデータを格納しています。 Map_Drawクラスにはmapdata の要素を参照するために、re_mapdata という関数があります。 このre_mapdata関数は、引数x,yをとり、mapdata[x][y]の値を返します。 ここで、Jcharaクラス内の関数からre_mapdata関数を呼び出したところ、 戻り値が滅茶苦茶な数字になり、正常に動作しません。 このre_mapdata関数は、Map_Drawクラスから呼び出すと正常に動作します。 なお、JcharaクラスにはMap_Drawクラスのオブジェクトjmdがあり、 jmd.re_mapdata という形で呼び出しています。 どなたか、回答をお願いします。 //re_mapdata関数のコード int re_mapdata(int x,int y){return mapdata[x][y];}
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#208124
回答No.2
mapdataをセットしたインスタンスとJchara->jmdが別々のインスタンスになっているということはありませんか
その他の回答 (1)
- alesi_sato
- ベストアンサー率35% (23/65)
回答No.1
mapdataにデータがセットされる前に、Jcharaから呼び出されてる という事はあるでしょうか? あるいは、非同期に動作していて、うまくいってない、とか。。
質問者
お礼
みたところ、そのような箇所はありませんでした。 回答ありがとうございます。
お礼
まさにそれが原因でした。 無事、解決することができました。 ありがとうございます。