我有以下C++類。C++中的命名空間衝突
xyz.h
class xyz {
public:
static int abc();
};
qwe.h
#include xyz.h
namespace xyz {
class qwe{
public:
void bnm() {
int value = xyz::abc();
}
};
}
我怎麼在這裏訪問xyz::abc()
。我在這裏收到彙編錯誤,說abc
不是xyz
的成員。我理解它試圖在xyz
命名空間中搜索abc
方法的原因,而理想情況下它應該是xyz
類中的靜態方法。
有沒有辦法在不改變命名空間名稱的情況下解決這個問題?
如果你使用會發生什麼定義類之前的命名空間別名? 'namespace xyz xyzns;'應該使'xyzns'成爲'xyz'命名空間的別名。 –