How to forward declare a class which is in a namespace

后端 未结 3 1879
没有蜡笔的小新
没有蜡笔的小新 2020-11-27 17:38

I am trying to use forward declarations in header files to reduce #includes used and hence reduce dependencies where users include my header file.

However, I am unab

3条回答
  •  自闭症患者
    2020-11-27 18:07

    To forward declare class type a in a namespace ns1:

    namespace ns1
    {
        class a;
    }
    

    To forward declare a type in multiple level of namespaces:

    namespace ns1
    {
      namespace ns2
      {
        //....
         namespace nsN
         {
            class a;
         }
        //....    
      }
    }
    

    Your are using a a member of consumer which means it needs concrete type, your forward declaration won't work for this case.

提交回复
热议问题