size返回的是无符号整数?
不明白啊
@Devil_C: 整型有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的数据,比如16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535。在一些不可能取值为负数的时候,可以定义为unsigned,在一些底层的嵌入式编程的数据一般都是无符号的。
把变量i声明成无符号整数试试?
@OOLi: en
size()返回的是size_t 类型的。
这是警告。无所谓的,如果你要去掉这个警告,在前面加一个强制类型转换就可以。如果编译器不让你通过,你把treat warning as errors哪项配置调整下级别就好。