我正试图使用pugiXML在VC++2010中插入表单中的数据。
问题是,每当我试图输入数据时,我都会收到以下错误:
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());