我有以下代码:
#include <iostream>
#include <complex>
using namespace std;
int main() {
complex<int> delta;
complex<int> mc[4] = {0};
for(int di = 0; di < 4; di++, delta = mc[di]) {
cout << di << endl;
}
return 0;
}
我希望它输出“ 0、1、2、3”并停止,但输出的序列是“ 0、1、2、3、4、5,..”。
看起来比较di<4
效果不佳,并且总是返回true。
如果我只是将其注释掉,delta=mc[di]
,我会像往常一样得到“ 0,1,2,3”。无辜的任务有什么问题?
我正在使用带有-O2选项的Ideone.com g ++ C ++ 14。