我的代码是像下面,当我编译它,我收到此错误:为什么我不能为命名空间中的变量赋值?
two.cpp:5: error: expected constructor, destructor, or type conversion before '= ' token
#include <iostream>
using namespace std;
namespace a1{
int a=3;
a=4;
}
int main(){
cout << a1::a<<endl;
}
我遇到了这个问题,当我在两个文件中定义的命名空间,在第二个文件,我不能为第一个文件中定义的变量赋值。
我在学习Beginning ANSI C++,并且在本书中找不到关于此的任何信息。
Re“应该在哪里执行”,使它正确执行的地方很简单,就像这样:'bool const bah =(a = 4);'。由于这个构造执行得很好,所以“应该在哪里执行”这个问题会增加一些重量。你的想法是什么? –
@Alf我必须承认我不懂你的结构'const bah =(a = 4);'我会认为无论是作业还是初始化(a = 4)都有int类型而不是bool。 –