Closed Int-0X7FFFFFFF closed 2 years ago
嘶,可能是C++的?:运算符不能在后两个表达式里使用不同的类型的原因……但编译过了也挺神奇的。 ToJson()这块的修改Voice和Image是一样的,如果其中一个有问题另一个应该也需要改。目前来看可以直接回滚到之前的(反正MAH目前的版本也会把空字符串当成null处理),或者复杂一点用if else判定字符串是否为空。Set()函数应该是没有问题的不用回滚
嘶,可能是C++的?:运算符不能在后两个表达式里使用不同的类型的原因……但编译过了也挺神奇的。 ToJson()这块的修改Voice和Image是一样的,如果其中一个有问题另一个应该也需要改。目前来看可以直接回滚到之前的(反正MAH目前的版本也会把空字符串当成null处理),或者复杂一点用if else判定字符串是否为空。Set()函数应该是没有问题的不用回滚
?:是一方面,这个不同类型在 msvc 下可以编译通过,gcc 是不行的(nullptr 被编译器当成指针,转化成 string(nullptr) 了,所以可以通过编译)。C++ 的类型都是值类型,不可以像其他语言那样赋值 null 的,你给 string 赋值 nullptr,它会把 nullptr 当成 char*去读取字符串,nullptr不可读取,就报错了。
当然,以上都是我的猜测,我这个C++语言律师还在初级阶段,手动滑稽。
我明天抽时间进行改进,到时候再合并吧。
1.修复了样例里一个小问题 2.ImageMessage的ToJson()会导致发送图片时的报错已将代码回滚 3.不确定音频类消息会不会出现问题(我的机器人没有用到这个功能)
4.测试所使用的代码(魔改自样例)