簡體   English   中英

無法從const TiXmlString轉換為const std :: string&

[英]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)

沒有STL

StateParser的類和實現與本書中的相同。

最后,如果我在某個地方有錯誤,該如何正確調試它以及在哪里尋找它? 先感謝您!

錯誤很明顯:不可從const TiXmlString轉換為const std::string &

根據此頁面 ,如果我沒看錯,甚至沒有從TiXmlStringstd::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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM