c++ - namespace myspace { int x } 现在为什么 `myspace::x=3;` 会出错?
问题描述
代码
#include <iostream>
namespace myspace
{
int x;
}
myspace::x=3; // This line is giving error.
int main()
{
myspace::x=5;
return 0;
}
输出
Error: C++ requires a type specifier for all declarations
那么,为什么myspace::x=3;
C++ 需要所有声明的类型说明符的行给出错误呢?
解决方案
该声明
myspace::x=3;
不是初始化,而是简单的分配。和之前的没什么区别
myspace::x=5;
你有里面的main
功能。
任何不是声明或定义的语句都不能在函数之外。
如果要初始化变量,请在定义处进行:
namespace myspace
{
int x = 3;
}
推荐阅读
- c# - 统一网络 | 权限问题 - 玩家可以移动但不能独立射击
- git - 如何正确地将不同的“开发”分支合并到主分支中?
- react-native - React Native 中的 Meteor.connect 抛出错误(版本 0.61.5)
- php - PHP:松耦合参数化工厂。可能吗?
- vb.net - VB.NET 初始排序顺序
- javascript - Javascript日期时间戳混淆
- angular - 强制调用 ngOnDestroy 和 ngOnInit
- javascript - 为什么我的 GeoJSON 对象被 LeafletKNN 拒绝?
- c++ - 我可以让智能感知从(尚未)包含的文件中建议定义吗?
- css - 如何纠正 MS Edge 中出现的 CSS flex 问题?