Я пытаюсь вставить данные из формы в VC++ 2010, используя pugiXML.
Проблема в том, что всякий раз, когда я пытаюсь ввести данные, я получаю эту ошибку:
Error 1 error C2664: 'pugi::xml_node::set_value' : cannot convert parameter 1 from 'System::String ^' to 'const pugi::char_t *'
Код, который я использую для вставки данных, следующий:
descr.append_child().set_value(eClass->Text);
В документации указано, что эти функции принимают строковые параметры, поэтому я не уверен, почему я получаю ошибку "ожидаемого char_t".
Кажется, вы пытаетесь пройти мимо
System::String
к pugixml. Эта строка не является символом char *, а строкой CLR. Вы должны использовать
PtrToStringChars()
для доступа к фактическому содержимому и для ввода строки.
Посмотрите здесь, как передать его содержимое функции, которая принимает char * или wchar_t *.
Вы пытались преобразовать строку в char *?
descr.append_child().set_value(eClass->Text.c_str());