我有以下密码:
#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”和平常一样。无辜的任务有什么问题吗?
我使用 Ideone.comg + + C + + 14和 -O2选项。