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
。
それで、なぜコードが最初にコンパイルされたのか疑問に思いました。これで、バグは正当な(役に立たないものの)構文であることがわかりました。
ありがとう!