json error: Use of overloaded operator [] is ambiguous錯(cuò)誤的解決方法
最近在使用json數(shù)組時(shí), 用0做下標(biāo)有問題(Use of overloaded operator [] is ambiguous), 但用1做下標(biāo)沒有問題, 我也是醉了。 網(wǎng)上到處搜了一下, 發(fā)現(xiàn)也有網(wǎng)友遇到。
// Note: //int x = a[0].GetInt(); // Error: operator[ is ambiguous, as 0 also mean a null pointer of const char* type. int y = a[SizeType(0)].GetInt(); // Cast to SizeType will work. int z = a[0u].GetInt(); // This works too.
0u = SizeType(0)
Json::Value作為數(shù)組時(shí),讀取0位置時(shí),出現(xiàn)錯(cuò)誤:Use of overloaded operator [] is ambiguous
Use of overloaded operator [] is ambiguous (with operand types 'const Json:Value' and 'int' )
void Parse(constJson::Value &jsonObject) {
rmb = jsonObject[0].asDouble();
}
Json:Value[]運(yùn)算符支持輸入的非負(fù)整型,即UInt或unsigned int。
而0作為索引值,也可能為空指針輸入, 類型檢查無法通過。
修改如下即可:
rmb = jsonObject[0U].asDouble();
或者:
rmb = jsonObject[SizeType(0)].asDouble();
說明: 0U 表示無符號的整數(shù),這樣寫在自己的數(shù)組操作符重載的時(shí)候 區(qū)分 0 是 數(shù)值0 還是 空指針了....
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- nodejs npm錯(cuò)誤Error:UNKNOWN:unknown error,mkdir ''D:\Develop\nodejs\node_global''at Error
- JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL錯(cuò)誤的解決方法
- JS提示:Uncaught SyntaxError:Unexpected token ) 錯(cuò)誤的解決方法
- 用window.onerror捕獲并上報(bào)Js錯(cuò)誤的方法
- 排除JQuery通過HttpGet調(diào)用WebService返回Json時(shí)“parserror”錯(cuò)誤
- IE8 下的Js錯(cuò)誤HTML Parsing Error...
- javascript Error 對象 錯(cuò)誤處理
- JS常見錯(cuò)誤(Error)及處理方案詳解
相關(guān)文章
C++用一棵紅黑樹同時(shí)封裝出set與map的實(shí)現(xiàn)代碼
set中存儲(chǔ)的一般為鍵K即可,而map存儲(chǔ)的一般都是鍵值對KV,也就是說他們結(jié)構(gòu)是不同的,那么我們?nèi)绾尾拍苡靡活w紅黑樹同時(shí)封裝出set與map兩種容器呢,那么接下來我們具體地來研究下STL庫中是怎樣實(shí)現(xiàn)的,并且進(jìn)行模擬實(shí)現(xiàn),需要的朋友可以參考下2024-03-03
QT+Quick實(shí)現(xiàn)自定義組件的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用QT+Quick實(shí)現(xiàn)自定義組件(按鈕、下拉菜單等),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-11-11
OpenCV圖像分割中的分水嶺算法原理與應(yīng)用詳解
這篇文章主要為大家詳細(xì)介紹了OpenCV圖像分割中的分水嶺算法原理與應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01

