这个程序没有上下文,很难说的,illegal indirection错误产生的原因一般是:如果把一个实变量当作一个指针赋值,则产生C2100编译错误。例如,
int r = 0, *s = 0;
*r = 200; // error C2100 :!!!!!
// try
*s = 200; //这句话不会报错
循环变量i的生存期仅限于循环体,离开循环体是不能访问它的。你必须重新定义一个变量,如int j=0,然后再利用j作为下标循环取值。
int i;
for(i=0;i<20;i++)//初始赋值
{
label[i]=0;
}
这样写试试,i 超出生命周期了。
可能是你的 i 超过了前面new int[]里的数字,比如i大于或等于20