为什么在Code blocks中要使用命名空间和int main,而在Turbo C++中没有命名空间且可以使用不返回任何值的void main,就像我在学校中学到的一样。这是因为编译器不同吗?C++的版本不同吗?
为什么在Code blocks中要使用命名空间和int main,而在Turbo C++中没有命名空间且可以使用不返回任何值的void main,就像我在学校中学到的一样。这是因为编译器不同吗?C++的版本不同吗?
(1)名称是一种约定,但该功能本身显然是必要的。
可能你曾经使用过一个非常老的编译器版本,它没有完全实现C++规范,换句话说就是不符合C++标准。在DOS时代编写的旧版本可能允许你做许多恶心的/非标准的事情。
在C++中,整个C++标准库都定义在命名空间std内。你必须使用using和/或完全限定名称(带有作用域解析符号)来访问这些内容。
C++中的main函数必须返回int类型,并具有以下两种签名之一:
int main();
int main(int argc, char *argv[]);
turbo C++
存在错误,而Codeblocks
则是正确的。