Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Создание Map


Автор: Bison 13.1.2011, 10:37
Как можно создать Map с типом ключ-значение: System::String __gc* и сделать вставку.

Я пытался сделать так: 
//объявление структур глобальными:
map<System::String __gc *, System::String __gc *> RepMap;
pair<System::String __gc *, System::String __gc *> Pair_Type

//затем в функции делаю следующее
String *Pattern, *Replacer; // затем инициализирую эти переменные
...
Pair_Type.first = Pattern;
Pair_Type.second = Replacer;
RepMap.insert(Pair_Type);

Но, компиляции ругается и выводит ошибку С3265: cannot declare a managed 'first' in unmanaged 'std::pair<_Ty1, _Ty2>' (\include\utility(61))

Не могу понять в чём проблема, прошу помогите советом.



Автор: Bestoloch 13.1.2011, 11:08
Вы веткой не ошиблись?

Автор: PELIKANN 13.1.2011, 18:59
в System.Collections.Generic если я не ошибаюсь есть аналог stl-евского mapа под названием Dictionary..
Может лучше использовать его?

Автор: cream 13.1.2011, 19:15
Работайте либо с managed - managed, либо unmanaged - unmanaged кодом.
std::pair - unmanaged,
__gc       - managed.

И еще можно такой нескромный вопрос, - в какой среде работаете?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)