为了账号安全,请及时绑定邮箱和手机立即绑定

下面的程序可以不写return 0可以吗?为什么呢?

下面的程序可以不写return 0可以吗?为什么呢?

C
牧羊人nacy 2023-01-03 16:12:19
#include "iostream.h"#include "string.h"class A {public:virtual void fun0() { cout << "A::fun0" << endl; }};int main(int argc, char* argv[]){A a;cout << "Size of A = " << sizeof(a) << endl;return 0;}
查看完整描述

2 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

main 函数应该带上一个返回值int,这是出于兼容性的考虑,有位兄弟找到了这样的一段话:
在 C 和 C++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回任何信息时可以把 main 函数定义成 void main(void) 。然而这是错误的!main 函数的返回值应该定义为 int 类型,C 和 C++ 标准中都是这样规定的。虽然在一些编译器中,void main 可以通过编译(如 vc6),但并非所有编译器都支持 void main ,因为标准中从来没有定义过 void main 。g++3.2 中如果 main 函数的返回值不是 int 类型,就根本通不过编译。而 gcc3.2 则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用 int main 。
有int main()后,就要加上return 0;当然,你不显示的写int 也就是说默认为int型,也要加上return 0;否则会有warning出现!

查看完整回答
反对 回复 2023-01-06
?
慕森卡

TA贡献1806条经验 获得超8个赞

可以,因为编译器会自动给你添加一个。
但是最好是写上。因为那才是标准c++。

查看完整回答
反对 回复 2023-01-06
  • 2 回答
  • 0 关注
  • 285 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号