国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

json error: Use of overloaded operator [] is ambiguous錯誤的解決方法

2020-01-26 13:28:59
字體:
來源:轉載
供稿:網友

最近在使用json數組時, 用0做下標有問題(Use of overloaded operator [] is ambiguous), 但用1做下標沒有問題, 我也是醉了。 網上到處搜了一下, 發現也有網友遇到。

// 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作為數組時,讀取0位置時,出現錯誤: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[]運算符支持輸入的非負整型,即UInt或unsigned int。

而0作為索引值,也可能為空指針輸入, 類型檢查無法通過。

修改如下即可:

rmb = jsonObject[0U].asDouble();

或者:

rmb = jsonObject[SizeType(0)].asDouble();

說明:  0U  表示無符號的整數,這樣寫在自己的數組操作符重載的時候 區分 0 是 數值0 還是 空指針了....

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 通化县| 阳曲县| 东阿县| 阿拉善右旗| 庄浪县| 宁蒗| 东阿县| 扬州市| 沙湾县| 化州市| 綦江县| 沁水县| 江油市| 柯坪县| 孟村| 海林市| 滁州市| 九寨沟县| 汉中市| 惠水县| 蒙自县| 威远县| 常山县| 枣强县| 吉木萨尔县| 繁昌县| 西平县| 镇江市| 施秉县| 高清| 连州市| 石嘴山市| 佛山市| 常熟市| 德昌县| 广安市| 邹城市| 怀柔区| 德江县| 怀宁县| 陕西省|