繁体   English   中英

使用结构模板的结构模板

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM