次の設計を検討してください。
template <class SecondType>
struct First
{
SecondType* _ptr;
};
template <class FirstType>
struct Second
{
FirstType* _ptr;
};
型にはFirst
型へのポインタがあり、Second
その逆もあります。問題は、これらは相互に依存しており、宣言する必要があるため、これを宣言できないことFirst<Second<First<Second...>>>
です。
この問題を解決するには?