有一段程序如下:
……
vector<int> v;
for(int i=0;i<.v.size();i++)
……
运行后出错:warning C4018: “<”: 有符号/无符号不匹配
原因如下: v 是一个vector ,v.size() 是unsigned int(无符号)类型, 而i是int(有符号)类型
所以会出现: 有符号/无符号不匹配的警告
把int i=0改成unsigned int i=0或者size_t int i=0即可
本文介绍了一种常见的C++编程错误:在使用vector容器进行遍历时,由于有符号与无符号整数比较导致的编译警告。并给出了两种解决方案:将迭代变量声明为unsigned int或size_t。
有一段程序如下:
……
vector<int> v;
for(int i=0;i<.v.size();i++)
……
运行后出错:warning C4018: “<”: 有符号/无符号不匹配
原因如下: v 是一个vector ,v.size() 是unsigned int(无符号)类型, 而i是int(有符号)类型
所以会出现: 有符号/无符号不匹配的警告
把int i=0改成unsigned int i=0或者size_t int i=0即可
被折叠的 条评论
为什么被折叠?