
vector<int> my_vector;for (int i = 0; i < my_vector.size(); i++) { my_vector[i] = 0;} 我不在乎它是否做得对.重要的部分是for循环声明.
编译器给出了有符号/无符号的不匹配,因为size()返回unsigned int而不是signed符号.将i改为无符号有多重要?我将循环计数器声称为习惯中的int,但如果这是一个潜在的错误,我会强迫自己摆脱这种习惯.
在这种情况下,对于这个特定的错误,它可能不是什么大问题 – 在32位平台上,在无符号将包装成负的有符号值之前,你必须在向量中有超过20亿个条目.要获得这样的向量会耗尽所有内存,因此可能无法进入有符号/无符号不匹配的状态.
总结以上是内存溢出为你收集整理的c – 编译器警告全部内容,希望文章能够帮你解决c – 编译器警告所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)