我正在使用兩個第三方框架。我想從兩個框架訪問一個新類。在C++中訪問父命名空間
第一框架使用嵌套命名空間像:
namespace space1 {
namespace space2 {
class 3rdparty{
}
}
}
第二框架不使用任何名稱空間。 如果我嘗試從使用命名空間的第一個框架中調用我自己的類,那麼我根本無法正確使用它。在最好的情況下,我最終會出現鏈接錯誤。
我的班級是這樣的:
PlugIn_Processor.h:
class PlugIn_Processor{
public:
//constructor
PlugIn_Processor();
};
PlugIn_Processor.cpp:
#include "PlugIn_Processor.h"
PlugIn_Processor::PlugIn_Processor(){
};
上述第一種使用框架cpp文件看起來是這樣的:
namespace space1 {
namespace space2 {
3rdparty::3rdparty{
PlugIn_Processor * plugIn_Processor;
plugIn_Processor = new PlugIn_Processor();
}
}
}
但是,無論我做什麼,調用構造函數時都會出現鏈接器錯誤。 解決方案是將所有內容放在第三方框架的名稱空間下,但是因爲我想從不同的框架訪問該類,所以我不想將所有內容放在該名稱空間下。 我能做些什麼來解決這個問題?我試過的一切都失敗了。
你能發佈一個會產生鏈接器錯誤的可編譯代碼嗎?只是目前的代碼片段不清楚。 – Poni 2010-11-05 01:44:21
我同意。此外,您是否嘗試在子名稱空間中包含父名稱空間,或者通過它的名稱空間名稱來訪問它? – 2010-11-05 01:46:23