當我運行下面的代碼片段時,輸出是a是6。但是因爲我已經使用名稱空間n1,它也具有名稱「a」的變量,所以不應該輸出爲a是5。我錯過了什麼嗎?瞭解C++中的命名空間範圍
#include <iostream>
using namespace std;
namespace n1{
int a = 5;
}
int main(void){
int a = 6;
using namespace n1;
cout<<"a is "<<a<<endl;
return 0;
}
但是,如果我在使用全名COUT即COUT < < 「一個是」 < < N1 ::一個;輸出如預期的那樣。5.使用命名空間的的目的是什麼?
你的'了'是主要地方。你必須使用'n1 :: a'。 – user1810087