我学习C++模板犯法的,我有不同类型的地图功能:运营商在模板函数类
template<typename T> void foo(T m1, T m2){ //map m1 and map m2
map<pair<T, int>, int>::iterator itr1 = m1.begin();
map<pair<T, int>, int>::iterator itr2 = m2.begin();
while (itr1 != m1.end() && itr2 != m2.end()){
//do something with itr1 and itr2
}
}
当我编译它在VS2013,我得到了错误:error C2088: '!=' : illegal for class
指向while (itr1 != m1.end() && itr2 != m2.end())
。但是,如果我明确声明地图的类型(即不使用模板),我没有错误。有人能告诉我我在这里做错了吗?谢谢!
请发布[MCVE](http://stackoverflow.com/help/mcve) –