コードをいじり回すときに、このかなり漠然とした動作に出くわしました。例を次に示します。
#include <iostream>
using namespace std;
int print(void);
int main(void)
{
cout << "The Lucky " << print() << endl; //This line
return 0;
}
int print(void)
{
cout << "No : ";
return 3;
}
私のコードでは、コメント付きのステートメント//This line
は出力されるはずです
The Lucky No : 3
が、代わりに出力されNo : The Lucky 3
ました。この動作の原因は何ですか?これはC++標準と関係がありますか、それともその動作はコンパイラごとに異なりますか?