错误:对‘;的调用没有匹配函数;xercesc_3_2::DOMImplementation::createDocument(int,const wchar_t[19],int)和#x2019; 我对C++和XeSeriLIB没有太多的经验,所

错误:对‘;的调用没有匹配函数;xercesc_3_2::DOMImplementation::createDocument(int,const wchar_t[19],int)和#x2019; 我对C++和XeSeriLIB没有太多的经验,所,c++,xml,xerces-c,C++,Xml,Xerces C,错误:对‘;的调用没有匹配函数;xercesc_3_2::DOMImplementation::createDocument(int,const wchar_t[19],int)和#x2019; 我对C++和XeSeriLIB没有太多的经验,所以我想问一下我该如何解决这个问题。我按照说明安装了xerces库 您需要将constwchar*转换为constxmlch*。也许能帮上忙。你正在与wchar\u t和char16\u t之间的差异作斗争。使用u“…”而不是L“…”来让编译器满

错误:对‘;的调用没有匹配函数;xercesc_3_2::DOMImplementation::createDocument(int,const wchar_t[19],int)和#x2019; 我对C++和XeSeriLIB没有太多的经验,所以我想问一下我该如何解决这个问题。我按照说明安装了xerces库


您需要将
constwchar*
转换为
constxmlch*
。也许能帮上忙。你正在与wchar\u t和char16\u t之间的差异作斗争。使用u“…”而不是L“…”来让编译器满意。谢谢Hans Passant,它成功了。我使用了这个,如果没有修复,XMLString::transcode(“”)而不是L“”,您需要将
const wchar*
转换为
const XMLCh*
。也许能帮上忙。你正在与wchar\u t和char16\u t之间的差异作斗争。使用u“…”而不是L“…”来让编译器满意。谢谢Hans Passant,它成功了。我用这个,如果不修复的话,用XMLString::transcode(“”)代替了L
#include <iostream>
#include <string>
#include <sstream>
//Mandatory for using any feature of Xerces.
#include <xercesc/util/PlatformUtils.hpp>
//Use the Document Object Model (DOM) API
#include <xercesc/dom/DOM.hpp>
//Required for outputing a Xerces DOMDocument to a standard output stream (Also see: XMLFormatTarget)
#include <xercesc/framework/StdOutFormatTarget.hpp>
//Required for outputing a Xerces DOMDocument to the file system (Also see: XMLFormatTarget)
#include <xercesc/framework/LocalFileFormatTarget.hpp>

/*
compile with g++ xerces.cc -o xml -lxerces-c
*/

using namespace std;
XERCES_CPP_NAMESPACE_USE

void write_output_to_stream(DOMDocument* measurement_DOM_document);
void write_output_to_file(DOMDocument* measurement_DOM_document, const wchar_t* full_file_path);

int main() {
     XMLPlatformUtils::Initialize();

     /* Pointer to our DOM implementation */
     DOMImplementation* p_dom_implementation = DOMImplementationRegistry::getDOMImplementation(XMLString::transcode("core"));
     /*  */
     DOMDocument* p_dom_document = p_dom_implementation->createDocument(0, L"dummy_measurements", 0);

     DOMElement* p_root_element = p_dom_document->getDocumentElement();

     XMLPlatformUtils::Terminate();
     return 0;
}
xerces.cc: In function ‘int main()’:
xerces.cc:29:100: error: no matching function for call to ‘xercesc_3_2::DOMImplementation::createDocument(int, const wchar_t [19], int)’
      DOMDocument* p_dom_document = p_dom_implementation->createDocument(0, L"dummy_measurements", 0);
                                                                                                    ^
In file included from /usr/local/include/xercesc/dom/DOM.hpp:41:0,
                 from xerces.cc:7:
/usr/local/include/xercesc/dom/DOMImplementation.hpp:174:26: note: candidate: virtual xercesc_3_2::DOMDocument* xercesc_3_2::DOMImplementation::createDocument(const XMLCh*, const XMLCh*, xercesc_3_2::DOMDocumentType*, xercesc_3_2::MemoryManager*)
     virtual DOMDocument *createDocument(const XMLCh *namespaceURI,
                          ^~~~~~~~~~~~~~
/usr/local/include/xercesc/dom/DOMImplementation.hpp:174:26: note:   no known conversion for argument 2 from ‘const wchar_t [19]’ to ‘const XMLCh* {aka const char16_t*}’
/usr/local/include/xercesc/dom/DOMImplementation.hpp:214:26: note: candidate: virtual xercesc_3_2::DOMDocument* xercesc_3_2::DOMImplementation::createDocument(xercesc_3_2::MemoryManager*)
     virtual DOMDocument *createDocument(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
                          ^~~~~~~~~~~~~~
/usr/local/include/xercesc/dom/DOMImplementation.hpp:214:26: note:   candidate expects 1 argument, 3 provided