C++一个程序片段出现警告,如何解决。

[复制链接]
查看11 | 回复4 | 2012-6-8 20:19:27 | 显示全部楼层 |阅读模式
你的i和j一定是int类型的吧。这种类型是有符号类型,是能够存储负数的而size()返回的是对象的大小,肯定不是负数,所以是unsigned int类型,没有符号位,是无符号类型,不能够存储负数。有符号位的负数是将2进制中的第一位作为符号位例如int型的1就是00000001-1就是10000001而无符号位的10000001代表的是129如果你将int型的-1与unsigned int型的1进行比较程序很可能会将-1当成129进行处理。就会发生-1竟然比1大的结论所以回给你提示警告如果你希望不报警,你可以使用unsigned int声明i和j...
回复

使用道具 举报

千问 | 2012-6-8 20:19:27 | 显示全部楼层
将变量 i 和变量 j 的类型改为 string::size_type 。...
回复

使用道具 举报

千问 | 2012-6-8 20:19:27 | 显示全部楼层
改成这样for(int i=0;i<str1.size();i++)和if((int)j==str1.size()) 试试!!!...
回复

使用道具 举报

千问 | 2012-6-8 20:19:27 | 显示全部楼层
stra.size()返回类型是什么?跟他比较的i,j的返回类型呢?代码太少不好判断...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行