在当前范围内已经声明了“主要”

时间:2018-09-21 13:04:10

标签: c++

我有一个源文件,其中使用了一个名为::: main的命名空间,并且包含此标头是为了在main.cpp中构建我的进程。
编译代码时,出现以下错误:
     “主要”已在当前范围内声明
有效的解决方案是将文件从当前进程中排除,但这不是一个选择。
我将不胜感激!

1 个答案:

答案 0 :(得分:2)

程序

namespace main{}
int main(){}

无效的C ++。

不允许您在与功能main相同的转换单元中使用名为main的命名空间。 (这同样适用于全局范围内的任何功能,而不仅仅是main。)

C ++不允许这样做(不允许重新声明符号),并且编译器将发出诊断信息,例如您观察到的诊断信息。