如何取消引用此2D动态数组?

时间:2016-05-25 02:37:26

标签: c++ arrays pointers dynamic

我在第5行的if语句条件中解除引用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';
    }
}

我已尝试将*放在前面,但我收到此错误消息:

间接需要指针操作数(&#39; int&#39;无效)

提前感谢任何帮助。

1 个答案:

答案 0 :(得分:-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';
    }   
}