C++代码运行命名空间的函数为何报错?

我写了一个test.cpp文件:

#include <iostream>

namespace ns001 {

int main01()
{
    
    std::cout << "hellow" << std::endl;

    return 0;
}



}

ns001::main01();

当我在执行编译运行时候,出现问题:

/Users/ll/Desktop/iOS/test02/c++/test02.cpp:17:8: error: C++ requires a type specifier for all declarations
ns001::main01();
       ^
1 error generated.
[Finished in 0.8s with exit code 1]

请问是哪儿写的有问题呢?
我将最后一行换成:

main01();

同样报错。


UPDATE -01

我把函数改为main,但是还是报错,所以说这个错误和是否有main函数无关:

#include <iostream>

namespace ns001 {

int main(int argc, char const *argv[])
{
    
    std::cout << "hellow" << std::endl;

    return 0;
}

main();



}
阅读 2.7k
2 个回答

在函数里才能调用其它函数。

你的“调用”实际是在名字空间里(全局名字空间),而名字空间里只能有声明(及定义),不能有函数调用。

请问您的 main 呢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题