我得到了三個文件,其中一個具有要訪問的變量,另外兩個需要訪問這些變量。現在我有三個文件,像下面這樣,並且在編譯時遇到了未定義的i引用錯誤。我不明白爲什麼使用命名空間給出錯誤?如何從包含的頭文件訪問變量
header.h
extern int i;
a.cpp
#include "header.h"
#include "mheader.h"
namespace s{
int i=10;
struct p{
p(){
}
};
}
b.cpp
#include "a.cpp"
int main(){
cout<<i;
}
即使我定義開始命名空間聲明它不是之前定義的變量i在命名空間內可訪問。有沒有一種方法可以在命名空間和b中訪問變量?
'i'和's :: i'不是一回事,它們是無關緊要的。 – songyuanyao
即使我在開始命名空間聲明之前定義它,它在名稱空間內也是不可訪問的。有沒有一種方法可以在命名空間和b中訪問變量? –
你爲什麼'包括'一個CPP文件? – Ajay