我正在阅读一篇关于C++ vs C的文档.文档说C++与C相比是紧密编写的.一个例子是,C允许main()函数类型为void.另一方面,C++不允许这样做,他从标准中给出了以下声明.
在C++标准中:
它的返回类型应为int,否则其类型是实现定义的.所有实现都应允许以下两个主要定义:
Run Code Online (Sandbox Code Playgroud)int main() { /* … */ }和
Run Code Online (Sandbox Code Playgroud)int main(int argc, char* argv[]) { /* … */ }
C标准说的相同,但有一个额外的声明.
如果返回类型与int不兼容,则未指定返回到主机环境的终止状态
这表明允许不返回int的表单是故意的.
如果您有"可以实现定义的类型"的语句,您是否不允许C++编译器实现社区允许void作为类型?