(我解決這個問題涉及第三方的lib,我不能改變)如何在不衝突的情況下處理不同層級的名稱空間相同的名稱空間?
#include <list>
//Third party lib namespace
namespace foo
{
typedef int SomeType;
}
//my namespace
namespace mycompany
{
namespace groo
{
typedef std::list<foo::SomeType> SomeTypeList;
}
namespace foo
{
typedef std::list<foo::SomeType> SomeTypeList;
}
}
int main() { return 0; }
試圖編譯此產生錯誤:從groo
作品就好
error: 'SomeType' is not a member of 'mycompany::foo'
訪問。你如何從mycompany::foo
訪問淺的foo
?
(我會回答這個自己,但想我會發布的情況下,別人的問題有相同)