在保持舊代碼,使用libmxl2我得到以下錯誤:(與reinterpret_cast
發生同樣的錯誤)C++最近投的錯誤
xmlNodePtr messageNode = doc->children; // The "Message" node
if(xmlStrcmp(messageNode->name, static_cast<xmlChar*>("Message"))) ... blabla
:
error: invalid static_cast
from type ‘const char [8]’
to type ‘xmlChar* {aka unsigned char*}’
在下面的代碼段
很明顯,我可以用舊式鑄造(xmlChar*)
來解決,但最近在C++中這樣做的正確方法是什麼?
我使用gcc 4.7.2(這編譯代碼5年前:)沒有這個錯誤最後一次,但不要問老版本編譯:)的版本)
「消息」總是一個字符串文字? – Brian
你需要一個const_cast,或者更好的辦法是獲得一個更新版本的xml API,希望它有更好的const正確性。 – wich
const_cast也許? – INait