假设模板类 A 定义如下:
template <typename T>
class A
{
B<T> b;
};
假设模板类 B 定义如下:
template <typename T>
class B
{
A<T> a;
};
理想情况下,这些类将在具有内联实现的单独标头中定义。但是,这会导致循环包含问题。一种解决方案是将模板类的实现放入 cpp 文件中。但是,这需要专门的模板实例化。
有没有办法保持类的内联实现并避免循环包含依赖?如果可能的话,我想避免使用指针。
谢谢,
山姆