CSt*_*bra 3 c++ for-loop continue infinite-loop
我正在编写一个代码,它将遍历直方图中的每个bin,并检查是否存在任何非零bin.如果有,它会抛出一条错误消息.我的问题是,我希望它跳过一个bin,因为这个bin不应该是空的,而是检查所有其他的bin.
唯一的问题是创造一个无限循环.这是我的代码
Int_t y;
for (int i = 0; i <= 100; i++) {
y = hist - > GetBinContent(i)
if (i = 1) continue;
else if (y != 0) {
std: cout << * * * * * ERROR * * * * * << std: endl;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
它正在发生的事情是评估它i = 0
,跳过i = 1
,然后命中,i = 2
并且不断地一遍又一遍地评估它.如果我拿出"if(i = 1)继续;" 然后它的工作原理.
有任何想法吗?
试试这个
if (i==1) continue;
Run Code Online (Sandbox Code Playgroud)
i=1
意味着你分配1
给i
.=
意味着分配和==
平均比较.
在您的代码中,值i
始终1
与您使用的一样i=1
归档时间: |
|
查看次数: |
235 次 |
最近记录: |