2016-05-25 3 views
-2

私は前に*を入れて試してみたが、私はこのエラーメッセージを取得ライン上のif文の条件5.この2Dダイナミック配列を逆参照するにはどうすればよいですか?

typedef char* CharArrayPtr; 

void reserveSeat(CharArrayPtr *m, char row, char seatLetter){ 
    for(int j = 1; j < 5; j++){ 
     if(m[row - 1][j] == seatLetter) 
      m[row - 1][j] = 'X'; 
    } 
} 

に2次元動的配列を参照解除すると問題が生じています:

をインダイレクションにはポインタオペランド( 'int'が無効)が必要です

ご協力いただきありがとうございます。

+1

「CharArrayPtr」とは何ですか –

+0

あなたは正確に何が問題であるか説明してください。関連するコンパイラエラーメッセージまたはランタイムエラーの正確なテキストを含める –

+0

上記の '' CharArrayPtr'の定義を追加しました。 – borninla

答えて

-2

2D配列を演算子*で逆参照する場合は、次の操作を試してください。

typedef char* CharArrayPtr; 

void reserveSeat(CharArrayPtr *m, char row, char seatLetter){ 
    for(int j = 1; j < 5; j++){ 
     //if(m[row - 1][j] == seatLetter) 
     if(*((char*)m + (row - 1)*5 + j) == seatLetter) 
      m[row - 1][j] = 'X'; 
    } 
} 
+1

ありがとうございました!もうエラーはありません。 – borninla

関連する問題