我不喜欢使用前向声明:
struct A;
struct B
{
A* a;
}
// Implementation
我习惯做类似的事情:
struct B
{
struct A* a;
}
但是,当我尝试使用模板类时遇到问题:
template<typename T>
struct A
{
struct B<T>* _t;
};
template<typename T>
struct B
{
T _t;
};
编译器告诉我:
test.cpp:4:12: error: 'B' is not a template
test.cpp:8:8: error: 'B' is not a template type
我怎样才能做到这一点?