Nad*_*eri 0 c++ templates iterator
如何在模板类中使用模板参数定义迭代器对
template <typename S,typename T>
class pairMove :public pair<S,T>
{
private:
pair< multimap<S,T>::iterator , multimap<S,T>::iterator > pairIt;
Run Code Online (Sandbox Code Playgroud)
我在编译时遇到这个错误
//错误2错误C2923:'std :: pair':'std :: multimap :: iterator'不是参数'_Ty1'的有效模板类型参数
解决我问题的任何解决方案
你错过了typename关键字:
pair<typename multimap<S,T>::iterator, typename multimap<S,T>::iterator> pairIt;
^^^^^^^^ ^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
注意,S并且T是template类型; 当它们与::操作员结合使用以获得另一种依赖类型时,必须使用typename.
另一个关于这个主题的好讨论.
| 归档时间: |
|
| 查看次数: |
693 次 |
| 最近记录: |