我明白错误
下标值既不是数组也不是指针
当我试图编译我的程序时。我知道这与未声明的变量有关,但我检查了所有内容,它似乎已声明。

static char getValue(LOCATION l)
{
    /*return carpark[l.col][l.row]; // Assumes that location is valid. Safe code is
        below:
    */


    if (isValidLocation(l)) {
        return carpark[l.col][l.row]; <<<<<<<< this line
        }       // returns char if valid (safe)
    else {
        return '.';
    }

与标题中代码的这一部分相对应
typedef struct
{
    /* Rectangular grid of characters representing the position of
       all cars in the game.  Each car appears precisely once in
       the carpark */
    char grid[MAXCARPARKSIZE][MAXCARPARKSIZE];
    /* The number of rows used in carpark */
    int nRows;
    /* The number of columns used in carpark */
    int nCols;
    /* The location of the exit */
    LOCATION exit;
} CARPARK;

停车场在主程序中声明:
CARPARK carpark.

谢谢你的帮助。

最佳答案

carpark不是数组,因此您可能需要如下内容:

return carpark.grid[l.col][l.row];

关于c - C编程:下标值既不是数组也不是指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7433618/

10-09 09:00