【发布时间】:2013-05-29 04:41:20
【问题描述】:
考虑以下设计:
template <class SecondType>
struct First
{
SecondType* _ptr;
};
template <class FirstType>
struct Second
{
FirstType* _ptr;
};
First 类型有一个指向Second 类型的指针,反之亦然。问题是我不能声明它,因为它们是相互依赖的,我应该声明First<Second<First<Second...>>>。
如何解决这个问题?
【问题讨论】:
-
这究竟是在模仿什么?
-
为什么要设计上面的类?你想解决什么现实生活中的问题?