использование вектора в clr
#include <cliext/vector>
#include <cliext/algorithm>
cliext::vector<card^>^ pack;//Определяется в хедере класса
И потом хочу использовать его
using namespace cliext;
pack = gcnew vector<card^>;
pack->push_back(newCard);
В итоге выдает следующее:
error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (cliext.impl.vector_impl<card ^,0>): (0x020001ac).
Как правильно использовать вектора под clr?
Цитата: Karrde
Доброго времени суток. Вопрос такой: корректно ли использовать библиотеку STL под CLR? просто, например, хочу сделать глобальный управляемый вектор ref-структур(что-то типа такого):
System.Collections.Generic.List<> чем не сгодился? STL в CLR бесполезна чуть менее чем совсем.
Спасибо. попробую
List<card^>^ pack;
так, чтобы было видно в других функциях:
pack = gcnew List<card^>;
Выскакивают ошибки, связанные с IServiceProvider
Цитата: Karrde
Сорри, не совсем понял(и мозги уже плохо варят). То есть так объявить нельзя?
Изучите статью. Ссылку я вам дал.
и не соглашусь относительно бесполезности STL, пару раз он мне заметно экономил время, не надо его зря обижать!=)
Цитата: Artem_3A
и не соглашусь относительно бесполезности STL, пару раз он мне заметно экономил время, не надо его зря обижать!=)
Сила STL в его итераторах, а для управляемого кода они бесполезны.
Цитата: hardcase
Сила STL в его итераторах, а для управляемого кода они бесполезны.
ну тут мне пожалуй возразить не чего! =)
Спасибо за помощь. проблема решена)