[英]struct template using struct template
我在另一个模板化结构中实现模板化结构时遇到问题。
基本上这可以工作:
template<typename T>
struct ListElement {
T Value;
struct ListElement<T>* Next;
};
template<typename M>
struct List {
struct ListElement<M>* ContainedElements;
};
但是我真正想要的是这样的实现:
template<typename T>
struct ListElement {
T Value;
struct ListElement<T>* Next;
};
template<typename M>
typedef struct ListElement<M>* List;
问题是您不能将typedef与模板一起使用。 有什么工作要写struct List<Anytype>
而不是struct ListElementPointer *吗?
PS:顺便说一句,这是一个学校项目。 不允许使用标准的vector或list类,并且我不想为我使用的每种类型键入新的定义...也不允许使用类:-/
如果能够使用C ++ 11,则可以使用以下别名声明:
template<typename M>
using List = ListElement<M>*;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.