命令空间及类A的a.h文件如下:
namespace mySpace
{
class A
{
public:
A();
~A();
};
}
命令空间及类的a.cpp文件如下:
namespace mySpace
{
class A
{
public:
A()
{
}
~A()
{
}
};
}
在类B的.h文件中声明了一个A的指针,由于某种原因不能包含A.h,所以只能采取前向声明的办法,类似如下:
class A;
class B
{
public:
B();
~B();
private:
A* m_pA{nullptr};
};
因为A类是包含在命令空间中的,所以上述前置声明编译会报错,应该像如下那样:
namespace mySpace
{
class A;
};
class B
{
public:
B();
~B();
private:
mySpace::A* m_pA{nullptr};
};