2012-02-16 62 views

回答

5

使用::前缀访问全局/具名命名空间

friend class ::UnitTest_1; 

你的原始样本可以很容易地被写成

friend class ::UnitTesting::UnitTest_1; 
2

使用

friend class ::UnitTest_1; // Works on namespace-less classes 

friend class UnitTest_1; // Works on both namespaced & namespace-less classes 
+0

第二个命题并不在我的情况下工作 – 2012-02-16 17:24:59

+0

我的坏,它只能假设你是'using'命名空间它在......中声明 – oddstar 2012-02-16 17:32:59

5

您可以直接用::是指任何在全局命名空间:

class UnitTest_1; 

namespace NLa 
{ 
    class SearchSolr 
    { 
     friend class ::UnitTest_1; 
    } 
}