警告C4552:'<' :运算符无效;预期的操作员有副作用

时间:2013-05-24 03:52:08

标签: c++ visual-c++-2010

我的程序中有一堆循环。我得到这些错误的行如下:

for (size_t i=0; i++;i<student.length())

for (int i=0; i++; i<13)

似乎无法弄明白:/我在size_t类型的第一个循环中创建了迭代变量,因为.length函数返回size_t变量(或互联网说的那样)。即使这是问题,我也看不出为什么我会在第二个循环上得到错误。

2 个答案:

答案 0 :(得分:6)

你有终止条件并且操作被翻转,这个:

for (size_t i=0; i++;i<student.length())

应该是:

for (size_t i=0;i<student.length(); i++)

以及第二个for循环的相同问题。这很有用reference

答案 1 :(得分:2)

条款的顺序错误。它必须是

for(int i=0; i<13; i++);