Использование VS2008 Managed C ++ для переноса DLL. Собственный метод принимает серию отдельных значений const char * и коллекцию значений char *. Собираюсь сделать пример функции:
Function1(char * value1, TF_StringList& catList);
TF_StringList - это класс DLL с 3 методами вставки, один из которых я хочу использовать:
TF_StringList::insert(const char* str);
Итак, я установил метод обёртки:
WrapperClass::callFunction(String^ mvalue1, ArrayList mcatList);
mvalue1 конвертируется в const char * используя:
const char* value1 = (char*)(Marshal::StringToHGlobalAnsi(mvalue1)).ToPointer();
Однако, когда я попадаю в коллекцию строк, я перебираю ее, получая каждую строку, используя индекс:
String^ mstr = mcatList[i];
Попробовал все способы преобразования String ^ в const char *, и в каждом случае метод TF_StringList :: insert (const char * str) выдает ошибку C2663, связанную с константностью значения.
В чем проблема?