1. ホーム
  2. C

C - 添え字の値が配列でもポインタでもベクトルでもないエラー

2022-02-16 01:57:01
<パス

このエラーは、cでコードを書いているときに発生しました。
リテラルは、添え字を持つ値が配列やポインタでないことを意味します。
変数名で添え字を使う場合は、配列名かポインタ名でなければならないということです

私がエラーになったコードスニペットは

int id[100];

int main(){
   int n,m,id,k,i,j;
   scanf("%d%d",&n,&m);
   for(i=0;i<m;i++){
    scanf("%d",id+i);
   }


うーんうーん
ほらね?
不用意にグローバル配列idを定義して、メイン関数でint idにしたために、この問題が発生し、後でその配列を使用する際にこのエラーを発生させました。

おい、気をつけろよ!