Ошибка компиляции с использованием итераторов карты

В моем файле заголовка я включил std :: map и использую соответствующее пространство имен.
Один из моих участников:

map<unsigned int, double> pT_Spam;

И в моем файле .cpp я пытаюсь сделать то, что я часто делал в течение некоторого времени:

for(map<unsigned int, double>::iterator it=pT_Spam.begin() ; it!=pT_Spam.end() ; it++) {/*code*/}

Вышеупомянутое даже упоминается в одном из примеров использования std :: map в cplusplus.com. Хотя я сделал почти то же самое в других частях кода, которые не вызывают ошибок компиляции, в этой конкретной строке я получаю следующую ошибку от Cygwin:

error: conversion from `std::_Rb_tree_const_iterator<std::pair<const unsigned int, double> >' to non-scalar type `std::_Rb_tree_iterator<std::pair<const unsigned int, double> >' requested

Что кажется довольно странным. Есть идеи, что может быть не так? (мой заголовок, конечно же, включен в мой .cpp)

8
задан jathanasiou 6 January 2012 в 01:42
поделиться