int racer::GoodLapCount() {
int s = 0;
int i = 0;
while (i < data.size()) {
if (data[i].laptime < "01:30:000") {
s++;
}
i++;
}
return s;
}
在这种情况下,我可以忽略警告'有符号和无符号整数表达式之间的比较',还是在这里使用它是否重要?
答案 0 :(得分:0)
我认为adat是一个载体。 Vector返回无符号整数类型值,您可以检查:vector's size()
您可以忽略警告或仅使用unsigned int变量迭代向量。或者如果你强烈要求我成为一个简单的int变量,你可以粗略地将大小转换为int
while(i < (int)adat.size()) {
但如果大小超过MAX_INT值,则会导致问题。
此外,如果您使用的是C ++ 11,则可以通过以下方式忽略迭代器变量:
for(auto elem : adat) {
if (elem.korido < "01:30:000") {
s++;
}