簡體   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