c++ 模板和内部 类
c++ templates and inner classes
有人可以澄清内部 class 与模板一起使用吗?我搜索了书籍和互联网示例来学习模板,但很少有示例显示内部 class 用法。目前我收集到的是
template <class T>
class A
{
class B
{
B()
~B()
}
A();
~A();
B* a(T i, B* l);
}
从阅读 this and this 我相信我应该将外部 class 构造函数定义为
template <class T>
class A<T>::A()
{
}
但是我如何定义内部 class 构造函数定义?我如何定义a的定义?我一天中的大部分时间都在努力解决这个问题,非常感谢您的帮助。
你不应该在A
的构造函数定义中使用class
,应该是
template <class T>
A<T>::A()
{
}
而对于B
、
的构造函数
template <class T>
A<T>::B::B()
{
}
而对于成员函数a
,在引用A<T>::B
时使用typename
template <class T>
typename A<T>::B* A<T>::a(T i, typename A<T>::B* l)
{
return ...;
}
有人可以澄清内部 class 与模板一起使用吗?我搜索了书籍和互联网示例来学习模板,但很少有示例显示内部 class 用法。目前我收集到的是
template <class T>
class A
{
class B
{
B()
~B()
}
A();
~A();
B* a(T i, B* l);
}
从阅读 this and this 我相信我应该将外部 class 构造函数定义为
template <class T>
class A<T>::A()
{
}
但是我如何定义内部 class 构造函数定义?我如何定义a的定义?我一天中的大部分时间都在努力解决这个问题,非常感谢您的帮助。
你不应该在A
的构造函数定义中使用class
,应该是
template <class T>
A<T>::A()
{
}
而对于B
、
template <class T>
A<T>::B::B()
{
}
而对于成员函数a
,在引用A<T>::B
typename
template <class T>
typename A<T>::B* A<T>::a(T i, typename A<T>::B* l)
{
return ...;
}