首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有与'TiXmlElement::TiXmlElement(std::_cxx11::string&)调用匹配的函数

没有与'TiXmlElement::TiXmlElement(std::_cxx11::string&)调用匹配的函数
EN

Stack Overflow用户
提问于 2020-02-19 16:55:05
回答 2查看 174关注 0票数 0
代码语言:javascript
复制
    for (int i = g, x=0; i < counter - 1 && x < 99; i++,x++){
std::string point = std::to_string(i);
std::string pointx = std::to_string(point_vec[i].x);
std::string pointy= std::to_string(point_vec[i].y);

TiXmlElement* P = new TiXmlElement( point );
TiXmlText* X = new TiXmlText(pointx);
doc.LinkEndChild(X);
TiXmlText* Y = new TiXmlText(pointy);
doc.LinkEndChild(Y);
doc.LinkEndChild(P);
}

上面是我正在尝试的示例代码,我的问题是它告诉我以下内容:

“错误:没有匹配的函数来调用'TiXmlElement::TiXmlElement(std::_cxx11::string&)”这是在c++上使用wxwidgets,使用tinyxml背后的想法是能够存储数组并在以后重用它们。

解决了这个问题:我不得不进入tinyxml.h并在顶部添加以下内容:#define TIXML_USE_STL

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-19 17:02:07

string/char类型有两个构造函数,如下所示:

代码语言:javascript
复制
TiXmlElement::TiXmlElement (const char * _value)

代码语言:javascript
复制
#ifdef TIXML_USE_STL
TiXmlElement::TiXmlElement( const std::string& _value ) 

因此,如果您想要使用std::string,则必须定义TIXML_USE_STL,否则必须使用const char *

请参阅tinyxml.cpp

票数 2
EN

Stack Overflow用户

发布于 2020-02-19 17:02:38

如上所述,没有与TiXmlElement(std::_cxx11::string&)匹配的函数,据我正确理解,它是c11标准化中的某个字符串类。在这种情况下,它将完全是point字符串。尝试检查是否有一种方法可以使用用于TiXmlElement的字符串,很明显,正如错误所说的那样,您提供的是错误类std::_cxx11::string&的实例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60296324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档