Re: std::pair<std::string, float> проблемы
От: ArkM  
Дата: 10.04.11 09:55
Оценка:
Здравствуйте, Towelie, Вы писали:

T>Здравствуйте, я передаю итераторы начала и конца std::map в класс и в нем изменяю некоторые значения, но:


T>
T>    typedef std::map<std::string, float> myOptions;

T>    myOptions::iterator optIT;
T>    size_t i = 0;

T>    for(myOptions::iterator optIT = optionsBegin; optIT != optionsEnd; optIT++)
T>    {
T>        (*optIT) = std::pair<std::string, float>(Text[i]), utility::parseFloat(Edit[i]);
T>    {

T>

T>Код присвоения значения вызывает ошибку :

T>
T>error C2678: binary '=' : no operator found which takes a left-hand operand of type 'const std::string' (or there is no acceptable conversion)    c:\program files\microsoft visual studio 10.0\vc\include\utility
T>

T>Читая MSDN и форумы, я не понял как обойти эту проблему, подскажите пожалуйста.

Но в чем проблема-то? Приведенный фрагмент (псевдокода) пытается сделать что-то не очень понятное: что здесь i, Text и Edit?
Что здесь первично, а что строится? На входе пары ключ-значение, и надо построить map? Или задан map, и надо его модифицировать?
Вот когда это станет ясно, тогда и проблема исчезнет сама собой.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.