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 婆婆高寿祝福语大全简短