有人可以澄清模板使用内部类吗?我搜索了书籍和互联网示例以学习模板,但是很少有示例显示内部类的用法。我到目前为止收集的是
template <class T>
class A
{
class B
{
B()
~B()
}
A();
~A();
B* a(T i, B* l);
}
通过阅读this和this,我相信我应该将外部类构造函数定义为
template <class T>
class A<T>::A()
{
}
但是如何定义内部类构造函数定义?如何定义a的定义?在一天中的大部分时间里,我一直在努力解决这个问题,并非常感谢您的帮助。
最佳答案
您不应该在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 ...;
}
LIVE
关于c++ - C++模板和内部类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46508607/