问题是A类依赖于B类,反之亦然。编译器会抱怨一个未知类型。通常的解决方案是向前声明类。但是如何声明模板类?
答案 0 :(得分:0)
我花了一段时间才找到解决方案,所以我想我可以通过在这里发布“模板”来让别人的生活更轻松。
// Header A.h
template<class z, class w = float>
class B;
template<class x, class y = double>
class A
{
B mb;
}
// Header B.h
template<class x, class y = double>
class A;
template<class z, class w = float>
class B
{
A mA;
}
此外,您可以更改模板声明中的可选参数。