我學習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) –