我遇到了以下for
循环,情况非常不寻常
int main( int argc, const char* argv[] ) {
for ( int i = 0 ; i < ( 10, 20 ) ; i++ ) {
cout << i << endl;
}
}
此源代码编译成功。i
它使用从 0 到 19 的值执行循环(10
表达式中的(10, 20)
似乎对迭代次数没有影响)。
我的问题:
这个条件语法是什么?为什么它不会导致编译错误?
编辑:
更大的图景:这个问题始于一个错误,原始条件应该是i < std::min( <expr A>, <expr B> )
,由于某种原因我省略了std::min
.
所以,我想知道为什么首先要编译代码。现在我看到这个错误是一个合法的(尽管没用的)语法。
谢谢!