2011-09-15 17 views
1

でもない私がCプログラミング:添字値は、配列やポインタ

添字値の誤差を取得し、私は私のプログラムをコンパイルしようとすると、配列やポインタ

でもありません。私はそれが宣言されていない変数と関係があると理解していますが、すべてをチェックして宣言されたようです。助けのための

CARPARK carpark. 

ありがとう:ヘッダ

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; 

駐車場で、コードのこの部分に相当する

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 '.'; 
    } 

はとメインprog内で宣言されました。エラーメッセージは、問題が何であるか正確を語っている

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

を書くことができるように

carpark.gridは、しかし、は、配列ですか?あなたの質問に正確なテキストを貼り付けてください。 – Chriszuma

答えて

7

carparkあなたは、おそらくのような何かをしたいので、配列ではありません。変数carparkは配列でもポインタでもないので、[]演算子を適用することはできません。あなたはどのようなエラーが出るん

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