2013-05-07 94 views
2

我有以下簡化,這個工程:C++(gcc)嵌套模板問題?

// works: 
template<typename NodeStructure> 
struct ListNode { 
    NodeStructure *prev, *next; 
}; 

template<typename NodeStructure, ListNode<NodeStructure> NodeStructure::*node> 
struct ListBase { 
    NodeStructure *head, *tail; 
}; 

struct N { 
    ListNode<N> node; 
}; 

struct B { 
    ListBase<N, &N::node> base; 
}; 

但是,這並不適用

​​

在實際的代碼,List模板接收更多的模板參數,並定義一個附加的類迭代器的問題是爲什麼不工作,我做錯了什麼?


OH NO是IDE問題!

Eclipse CDT /代碼分析在掃描嵌套模板參數時出現誤報。

感謝您的回答。

+1

'名單 ::節點<>'節點不是類模板,這是一個錯字? '列表 ::節點' – dyp 2013-05-07 20:33:49

+0

'列表 :: Node <>' - '<>'看起來多餘,請嘗試刪除它。 – 2013-05-07 20:33:58

+0

您並未使用成員函數調用模板,但這是它期望得到的。 – Dave 2013-05-07 20:34:28

回答