Мне нужна функция в C ++ / CLI, которая связывает нативные C ++ std::list<std::string>
и string[]
в C #, чтобы сделать что-то подобное с моей WinForm:
ComboBox1.Items.AddRange(installs);
устанавливает это string[]
.
У вас есть идея? Как я могу это сделать? Программирование на C ++ / CLI сложно без Intellisense. (
Что вы думаете об этом?
Родной C ++ .cpp
std::list<std::string>* Get_Liste_place_de_marche(void)
{
list<string>* liste_place_de_marche = new list<string>;
liste_place_de_marche->push_back("CAC 40");
liste_place_de_marche->push_back("DAX");
return liste_place_de_marche;
}
И мне нужно закодировать эту функцию, используя последний код вверху:
C ++ / CLI .cpp вызывается в моей Winform с C #
array<System::String^>^ NativeMethod::Get_Liste_place_de_marche(void)
{
typedef std::list<std::string>::const_iterator iter_t;
std::list<std::string> const* list = new std::list<std::string>;
list = ::Get_Liste_place_de_marche();
array<System::String^>^ ret = gcnew array<System::String^>(list->size());
int j = 0;
for (iter_t i = list->begin(); i != list->end(); ++i)
ret[j++] = gcnew System::String(i->c_str());
return ret;
}
Это должно работать? Потому что у меня много ошибок ...