C言語なら俺に聞け(入門編)Part 87
■ このスレッドは過去ログ倉庫に格納されています
0810803
2011/08/07(日) 14:05:15.75それ単に三項演算子の使い方を間違えてるだけじゃん
int a = 1 ? f() : 2;
だと、aに f()の結果(つまりvoid)を入れることになるから、エラー吐くの当たり前。
int型変数にvoid入れようとしてるんだよ。ところが
return 1 ? f() : 2;
はmain関数の戻り値にf()の結果を入れようとしてるからエラーにならない。
なんかVCはmain関数の場合はvoidを戻り値にしてもエラーにならんみたいだ。
試しに return f(); にしてもエラーにならん筈。
■ このスレッドは過去ログ倉庫に格納されています