json error: Use of overloaded operator [] is ambiguous错误的解决方法
最近在使用json数组时,用0做下标有问题(Useofoverloadedoperator[]isambiguous),但用1做下标没有问题,我也是醉了。网上到处搜了一下,发现也有网友遇到。
//Note: //intx=a[0].GetInt();//Error:operator[isambiguous,as0alsomeananullpointerofconstchar*type. inty=a[SizeType(0)].GetInt();//CasttoSizeTypewillwork. intz=a[0u].GetInt();//Thisworkstoo.
0u= SizeType(0)
Json::Value作为数组时,读取0位置时,出现错误:Useofoverloadedoperator[]isambiguous
Useofoverloadedoperator[]isambiguous(withoperandtypes'constJson:Value'and'int')
voidParse(constJson::Value&jsonObject){
rmb=jsonObject[0].asDouble();
}
Json:Value[]运算符支持输入的非负整型,即UInt或unsignedint。
而0作为索引值,也可能为空指针输入,类型检查无法通过。
修改如下即可:
rmb=jsonObject[0U].asDouble();
或者:
rmb=jsonObject[SizeType(0)].asDouble();
说明: 0U 表示无符号的整数,这样写在自己的数组操作符重载的时候区分0是数值0还是空指针了....
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短