這裏是我的代碼:遞減STD月底::地圖
#include <iostream>
#include <map>
using namespace std;
int main() {
map<int , int > myMap;
map<int , int>::iterator it;
myMap.insert(pair<int , int>(1,2));
myMap.insert(pair<int , int>(671,223));
myMap.insert(pair<int , int>(353,245352));
it = myMap.end() - 1;
cout << it->first << it->second << endl;
return 0;
}
編譯此代碼會產生以下編譯錯誤:
error: no match for ‘operator-’ (operand types are ‘std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}’ and ‘int’)
it = myMap.end() - 1;
我不知道爲什麼我收到此錯誤因爲我認爲算術運算在所有類型的迭代器中都是允許的。
錯誤:'prev'不是'std'的成員,我收到此錯誤。我需要一些頭文件嗎? –
@BhawandeepSingla - '' –
StoryTeller
我收錄了它,仍然收到相同的錯誤。還有什麼其他的東西需要補充? –