首页 新闻 搜索 专区 学院

C++有关容器类的一个编译错误问题,不是很理解,请大大们指教

0
悬赏园豆:20 [已解决问题] 解决于 2012-03-08 22:09

如图所示,能具体解释一下其中的奥妙吗?

c++
Devil_C的主页 Devil_C | 初学一级 | 园豆:149
提问于:2012-03-08 18:29
< >
分享
最佳答案
1

size返回的是无符号整数?

收获园豆:20
OOLi | 初学一级 |园豆:163 | 2012-03-08 18:34

不明白啊

Devil_C | 园豆:149 (初学一级) | 2012-03-08 18:40

@Devil_C:  整型有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的数据,比如16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535。在一些不可能取值为负数的时候,可以定义为unsigned,在一些底层的嵌入式编程的数据一般都是无符号的。

把变量i声明成无符号整数试试?

OOLi | 园豆:163 (初学一级) | 2012-03-08 19:28

@OOLi: en

Devil_C | 园豆:149 (初学一级) | 2012-03-08 22:07
其他回答(2)
0

size()返回的是size_t 类型的。

Rollen Holt | 园豆:210 (菜鸟二级) | 2012-03-21 16:05
0

这是警告。无所谓的,如果你要去掉这个警告,在前面加一个强制类型转换就可以。如果编译器不让你通过,你把treat warning as errors哪项配置调整下级别就好。

hoodlum1980 | 园豆:543 (小虾三级) | 2012-06-07 16:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册