> Хочу сделать map, где ключами будет являться GUID-ы. Нашел в RSDN код, подогнал пд свой, но он не хочет компилиться
std::map<GUID, std::string> m;
Этого должно быть достаточно, при условии, что для GUID определен operator<.
-- Maxim Yegorushkin
Posted via RSDN NNTP Server 1.9 gamma
Re[2]: map<GUID, string>
От:
Аноним
Дата:
27.09.04 06:32
Оценка:
Здравствуйте, MaximE, Вы писали:
>> Хочу сделать map, где ключами будет являться GUID-ы. Нашел в RSDN код, подогнал пд свой, но он не хочет компилиться
ME>
ME>std::map<GUID, std::string> m;
ME>
ME>Этого должно быть достаточно, при условии, что для GUID определен operator<.
ME>-- ME>Maxim Yegorushkin
Но вылезает следующее: c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xtree(484) : error C2064: term does not evaluate to a function taking 2 arguments
А>Но вылезает следующее: c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xtree(484) : error C2064: term does not evaluate to a function taking 2 arguments
Используй StringFromGUID2 чтобы сконвертить GUID в строку, а затем lstrcmp, lexicographical_compare, ...
"Что не завершено, не сделано вовсе" Гаусс
Re[4]: map<GUID, string>
От:
Аноним
Дата:
27.09.04 06:59
Оценка:
Здравствуйте, sadomovalex, Вы писали:
S>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, MaximE, Вы писали:
А>>В общем исправил структуру GuidLess на
А>>
А>>Но вылезает следующее: c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xtree(484) : error C2064: term does not evaluate to a function taking 2 arguments
S>Используй StringFromGUID2 чтобы сконвертить GUID в строку, а затем lstrcmp, lexicographical_compare, ...
И что это изменит? Код все равно не компилится
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, sadomovalex, Вы писали:
S>>Здравствуйте, Аноним, Вы писали:
А>>>Здравствуйте, MaximE, Вы писали:
А>>>В общем исправил структуру GuidLess на
А>>>
А>>>Но вылезает следующее: c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xtree(484) : error C2064: term does not evaluate to a function taking 2 arguments
S>>Используй StringFromGUID2 чтобы сконвертить GUID в строку, а затем lstrcmp, lexicographical_compare, ... А>И что это изменит? Код все равно не компилится
a1ex_k wrote:
> для работы с STL предикаты нужно наследовать от binary_function
Совсем не обязательно.
Это необходимо лишь для того, чтобы сделать функторы адаптируемыми, т.е. говоря человеческим языком, чтобы функторы определяли result_type и argument_type. argument_type нужен только для std::binder1st/2nd, std::unary/binary_negate и для расширения std::compose. Учитывая, что boost::bind обеспечивает функциональность упомянутых вещей (они также обещали добавить ! для bind), в современном коде необходимость в unary/binary_function отсутствует, лишь иногда нужно, чтобы функторы определяли result_type.
Здравствуйте, MaximE, Вы писали:
>> для работы с STL предикаты нужно наследовать от binary_function ME>Совсем не обязательно.
Ты прав!!! При использовании map нет необходимости делать предикат адаптируемым.