我愿意用SDL制作2D游戏,我正在关注肖恩米切尔的书。但是在尝试编译项目时,我遇到了这个用户定义的类型转换错误的严重困难......
另外,我对这个话题不熟悉。我看过一些教程并在网上搜索解决方案。
我需要添加
吗?operator std::string&() const { return ???;}
到TiXmlString类中的tinyxmlstr.h?如果是这样,如何实施呢?我该怎么回事?
如果我没有在tinyxml.h中定义STL(我使用的),编译器会返回一个链接错误。
Error 19 error LNK2019: unresolved external symbol "public: virtual __cdecl TiXmlNode::~TiXmlNode(void)" (??1TiXmlNode@@UEAA@XZ) referenced in function "public: virtual __cdecl TiXmlDocument::~TiXmlDocument(void)" (??1TiXmlDocument@@UEAA@XZ)
StateParser类和实现与本书中的相同。
最后,如果我在某处出错,如何正确调试以及在哪里查找?先感谢您!
答案 0 :(得分:0)
错误很明显:从const TiXmlString
到const std::string &
可以进行非转换。
根据this page,如果我没错,甚至没有从TiXmlString
直接转换为std::string
我想你可以写一个这样的方法(就像返回value()
的{{1}}一样)
const char *
但是通过这种方式,您会返回std::string valueStr () cont
{ return value.c_str(); }
的副本(因此返回value
,而不是普通的const std::string
,是无用的),而不是引用。我不知道这对你来说是否合适。