2
我想通過實例解釋我的問題。我正在使用第三方庫,它有自己的命名空間。我想導入這個庫的一部分,在下面提到的命名空間中有它自己的命名空間。如何擴展指定的名稱空間
namespace library {
namespace part {
}
}
當前項目中還有一個層次結構。我想用另一個名稱將library :: part導入並擴展到我的項目中。我嘗試做如下:
#include <library/part>
namespace project {
namespace my_part = library::part;
}
namespace project {
namespace my_part {
void my_extension_1();
void my_extension_2();
}
}
這種情況可以用當前的語言工具來完成嗎?如果不是,應該如何做一個解決方法?仍然沒有,爲什麼?
編輯:錯誤消息GCC 5.3.0轉儲:
error: conflicting declaration of namespace ‘project::my_part’
編輯:有一個關於擴展原始的命名空間的想法,但是我要求的。 library :: part用戶不應直接訪問我已添加的功能。