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