我需要爲我的類獲取2個類型參數:T1,它是一個具有模板的類,T2是T1模板的參數。在我的情況下,一個頂點類型(有2個,一個從另一個繼承),數據類型頂點存儲(在我的情況下名稱/ ID)。嵌套模板(即模板<typename T <typename templateArgumentFor_T >>)
我希望能夠寫出這樣的事:
template < typename VertexType < typename VertexIDType > >
(它給我的錯誤:C2143語法錯誤:缺少「」前「<」)
所以我的班會是這樣的:(「名單」是我的一個鏈表(不std的)實現)
class Graph
{
public:
Graph(const List<VertexType<VertexIDType>>& verticesList);
VertexType<VertexIDType>& getVertexByID(const VertexIDType& ID) const;
private:
List<VertexType<VertexIDType>> vertices;
};
我也試過template <typename VertexType, typename VertexIDType>
後來我在功能Graph(const List<VertexType<VertexIDType>>& verticesList);
遇到錯誤(C2947預期「>」終止模板參數列表,找到「<」)
這template < typename VertexType < template <typename VertexIDType> > >
(這也給我錯誤C2143)
我真的是那種試圖自己決定一切的人,但這個越來越沮喪。我找不到一個答案,我明白如果/如何在我的代碼中實現。 我現在已經完成了OOP(C++)課程。我有一些模板的經驗。我寫了模板,可以成功地獲得1或2個參數,但沒有像這樣。
請幫我解決這個問題,最好儘可能優雅:)
謝謝。
非常感謝! –