![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C++指针问题 error C2100: illegal indirection
int*label;label=newint[20];label=newint[20];for(inti=0;i<20;i++)//初始赋值{label[i]=0;}--...
int* label;
label=new int[20];
label=new int[20];
for(int i=0;i<20;i++)//初始赋值
{
label[i]=0;
}
------------------------
后面用到时,if(label[i]==1) 就出错了,i是我的循环变量,有值了。error C2100: illegal indirection 展开
label=new int[20];
label=new int[20];
for(int i=0;i<20;i++)//初始赋值
{
label[i]=0;
}
------------------------
后面用到时,if(label[i]==1) 就出错了,i是我的循环变量,有值了。error C2100: illegal indirection 展开
展开全部
这个程序没有上下文,很难说的,illegal indirection错误产生的原因一般是:如果把一个实变量当作一个指针赋值,则产生C2100编译错误。例如,
int r = 0, *s = 0;
*r = 200; // error C2100 :!!!!!
// try
*s = 200; //这句话不会报错
int r = 0, *s = 0;
*r = 200; // error C2100 :!!!!!
// try
*s = 200; //这句话不会报错
![](https://ecmc.bdimg.com/public03/b4cb859ca634443212c22993b0c87088.png)
2024-08-21 广告
MarsCode 为你提供了编程助手和 IDE 来协助你完成编程任务。 MarsCode 编程助手提供以智能代码补全为代表的 AI 功能。它支持主流的编程语言和 IDE,在开发过程中提供单行代码或整个函数的编写建议。此外,它还支持代码解释、...
点击进入详情页
本回答由MarsCode提供
展开全部
循环变量i的生存期仅限于循环体,离开循环体是不能访问它的。你必须重新定义一个变量,如int j=0,然后再利用j作为下标循环取值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i;
for(i=0;i<20;i++)//初始赋值
{
label[i]=0;
}
这样写试试,i 超出生命周期了。
for(i=0;i<20;i++)//初始赋值
{
label[i]=0;
}
这样写试试,i 超出生命周期了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是你的 i 超过了前面new int[]里的数字,比如i大于或等于20
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询