【发布时间】:2019-02-08 11:30:55
【问题描述】:
我的代码中有这样的表达方式:
QByteArray idx0 = ...
unsigned short ushortIdx0;
if ( idx0.size() >= sizeof(ushortIdx0) ) {
// Do something
}
但我收到了警告:
警告:有符号和无符号整数表达式之间的比较 [-Wsign-compare]
if ( idx0.size() >= sizeof(ushortIdx0) ) { ~~~~~~~~~~~~^~~~~~~~~~
为什么QByteArray 中的size() 返回为int 而不是unsigned int?如何安全地消除此警告?
【问题讨论】:
-
一个很好的记录答案:stackoverflow.com/a/26621565/6165833
-
知道为什么是一个重复的问题——这样的知识不会影响你如何摆脱这个警告。不过,如何修复比较是一个非常有效的问题!
标签: c++ qt qbytearray