- 2007/04/11 Wed
-
新人教育担当とmain関数の話になり、・戻り型は省略するとintになったような
・return;だと不定値が返ったような
・mainは他の関数と扱いが違ったような
・CとC++でも違ったような
とか、ひどく記憶が曖昧だったので試してみてまとめ。
コンパイラはBCC5.5.1。
システムによってはそもそも戻り型がないものもあるとかなんとか。{return 0;} {return;} {} C void main() W8081 int main() W8070 main() W8070 C++ void main() E2467 int main() E2292 main() E2292 void foo() E2467 int foo() E2292 W8070 foo() E2292 W8070
警告 W8070 foo.c xxx: 関数は値を返すべき(関数 main )
警告 W8081 foo.c xxx: void 関数は値を返してはならない(関数 main )
エラー E2292 foo.cpp xxx: 関数は値を返すべき(関数 main() )
エラー E2467 foo.cpp xxx: 'main()' は値を返せない(関数 main() )