[英]Cannot convert from const TiXmlString to const std::string&
我願意用SDL制作2D游戲,並且遵循Shaun Mitchell的書。 但是在嘗試編譯我的項目時,我遇到了這個用戶定義的類型轉換錯誤的嚴重困難...
另外,我也不熟悉這個話題。 我看了一些教程,並在網上搜索了解決方案。
我是否需要添加
operator std::string&() const { return ???;}
到TiXmlString類中的tinyxmlstr.h? 如果是這樣,如何執行呢? 我應該退還什么?
如果我未在tinyxml.h中定義STL(我使用的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的類和實現與本書中的相同。
最后,如果我在某個地方有錯誤,該如何正確調試它以及在哪里尋找它? 先感謝您!
錯誤很明顯:不可從const TiXmlString
轉換為const std::string &
。
根據此頁面 ,如果我沒看錯,甚至沒有從TiXmlString
到std::string
的直接轉換。
我想您可以編寫一個這樣的方法(就像返回const char *
的value()
一樣)
std::string valueStr () cont
{ return value.c_str(); }
但是以這種方式,您返回value
的副本(因此,返回const std::string
,而不是簡單的std::string
,是沒有用的),而不是引用。 我不知道這是否適合您。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.