我的代碼是像下面,當我編譯它,我收到此錯誤:爲什麼我不能爲命名空間中的變量賦值?
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。 –