• 5713阅读
  • 3回复

新手,对qbytearray的疑问 [复制链接]

上一主题 下一主题
离线aileenyuxiao
 

只看楼主 倒序阅读 楼主  发表于: 2013-01-14
定义了一个 abytearray str,
代码1: if(str[0] != 0)       编译错误
代码2: switch(str[1])
             {case 1:
                break;
            }                      编译正确


没搞懂这是怎么回事?我把代码1改成 str.left(1).toInt(0,16)!=1,   就可以了


哪位大侠帮忙解惑一下啊

离线realfan

只看该作者 1楼 发表于: 2013-01-15
QByteArray 的[ ]操作符有重载,可能会返回QByteRef,与0比会有歧义。
离线aileenyuxiao

只看该作者 2楼 发表于: 2013-01-15
回 1楼(realfan) 的帖子
与1比也不行, if(str[0] != 1),这句也编译错误
离线realfan

只看该作者 3楼 发表于: 2013-01-15
回 2楼(aileenyuxiao) 的帖子
0 1只是个例子,与整数比就会有这个问题。
你这样用试试:
if(str.at(0) != 1)
快速回复
限100 字节
 
上一个 下一个