有人可以用模板澄清内部课程的使用吗?我搜索过书籍和互联网示例来学习模板,但很少有例子显示内部类的用法。到目前为止我收集的是
template <class T>
class A
{
class B
{
B()
~B()
}
A();
~A();
B* a(T i, B* l);
}
template <class T>
class A<T>::A()
{
}
但我如何定义内部类构造函数定义?如何定义a的定义?在这一天的大部分时间里,我一直在努力解决这个问题,并且非常感谢他们的帮助。
答案 0 :(得分:2)
你不应该在class
的构造函数的定义中使用A
,它应该是
template <class T>
A<T>::A()
{
}
对于B
的构造函数,
template <class T>
A<T>::B::B()
{
}
对于成员函数a
,在引用typename
时使用A<T>::B
template <class T>
typename A<T>::B* A<T>::a(T i, typename A<T>::B* l)
{
return ...;
}