代码
#include <iostream>
namespace myspace
{
int x;
}
myspace::x=3; // This line is giving error.
int main()
{
myspace::x=5;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出
Error: C++ requires a type specifier for all declarations
Run Code Online (Sandbox Code Playgroud)
那么为什么会出现myspace::x=3;C++ 要求所有声明都有类型说明符的错误呢?
该声明
myspace::x=3;
Run Code Online (Sandbox Code Playgroud)
不是初始化,而是简单的赋值。这与
myspace::x=5;
Run Code Online (Sandbox Code Playgroud)
你在main函数内部。
任何不是声明或定义的语句都不能位于函数外部。
如果要初始化变量,请在定义处进行:
namespace myspace
{
int x = 3;
}
Run Code Online (Sandbox Code Playgroud)