簡體   English   中英

使用模板參數在模板類中定義一對迭代器

[英]define pair of iterator in template class with template parameter

我如何在帶有模板參數的模板類中定義一對迭代器

template <typename S,typename T>
class pairMove :public pair<S,T>
{

private:
    pair< multimap<S,T>::iterator , multimap<S,T>::iterator > pairIt;

我在編譯時收到此錯誤

//錯誤2錯誤C2923:“ std :: pair”:“ std :: multimap :: iterator”不是參數“ _Ty1”的有效模板類型參數

解決我的問題的任何解決方案

您錯過了typename關鍵字:

pair<typename multimap<S,T>::iterator, typename multimap<S,T>::iterator> pairIt;
     ^^^^^^^^                          ^^^^^^^^

注意, STtemplate類型; 當它們與::運算符結合使用以獲取另一種依賴類型時,必須使用typename

關於此主題的另一個不錯的討論

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM