2011-12-03 16 views
0

このコードを実行すると、私に奇妙なエラーが発生します。シーンと呼ばれるクラスがあり、シーンには「コマンド」という配列メンバーがあります。私は現在のシーンと呼ばれるメンバを持っているcGameという構造体を持っています。何らかの理由でメンバーが構造体を認識しない

struct MainGameLoop{ 
    void init(){ 
     this->cGame.init(); 
    } 

    game_struct cGame; 

    void begin_cipher(string input){ 
     if(input == "save" || input == "SAVE"){ 
      cGame.cPlayer.save_game(); 
      cout << "\n\nGame saved..."; 
     } 

     if(input == "back" || input == "BACK"){ 
      cGame.go_back(); 
     } 

     if(input != "back" && input != "BACK" && input != "save" && input != "SAVE"){ 
      bool is_recognized_scene_command; 
      for(int c = 0; c < 11 ; c++){ 
       if(input == cGame.scene_container[this->cGame.current_scene].commands[c]){ 
        cout << "\n\nREQUEST IS RECOGNIZED BY SCENE..."; 
       } 
       else{ 
        cout << "REQUEST IS NOT RECOGNIZED!"; 
       } 
      } 
     } 
    } 
}; 

このコードは、エラーを与える:

279 C:\Dev-Cpp\the_main_mage.cpp no match for 'operator[]' in '((MainGameLoop*)this)->MainGameLoop::cGame.game_struct::scene_container[((MainGameLoop*)this)->MainGameLoop::cGame.game_struct::current_scene]' 
+0

メインループを構造体に入れたのはなぜですか?これはJava/C#ではありません。 –

+0

'game_struct :: scene_container []'の型の構造体定義を提供することができます(それには 'game_struct'と' scene_container'も含めることができます) – Nate

+1

演算子[]は実装していますか? – Yappie

答えて

1

誤差は約scene_containerです。あなたは[]で索引付けすることができる配列/ベクトル/ ...ですか? current_sceneは、インデックスとして使用する正しいタイプですか?

+0

です。これは10シーンの配列です。私は現在のシーンメンバーを使ってそれにアクセスします。 – Monkeyanator

関連する問題