如何在不同的文件中使用定义/声明多个命名空间级别的类

时间:2018-08-08 06:43:42

标签: c++ class namespaces nested

让我说我有不同的文件

preference.h

namespace level1 {

    namespace level2 {

        class Common {};  

    }
}

preference_type1.h

#include "preference.h"

    namespace level1 {
       namespace level2{
           namespace level2typeA {
               class typeA {
                  private:
                     level1::level2::Common CommonForTypeA();
               }
           }
      }
    }

preference_type1.h

include "preference.h"    

namespace level1 {
    namespace level2{
        namespace level2typeB {
             class typeB {
               private:
               level1::level2::Common CommonForTypeB();
             }
         }
      }
    }

以上内容将导致错误:Common:不是'level1 :: level2'的成员。为什么这是错误的解释又是什么?对于这种情况,正确的实现方法是什么?

0 个答案:

没有答案