我终于在我的程序中发现了一个错误,这是由返回类型的隐式类型转换引起的。即使g++ -Wall
没有警告。
我想知道是否有某种方法可以快速找出这种盲目的错误?
#include <iostream>
// return type should be int, but I wrote bool by mistake
bool foo(int x) {
return x;
}
int main() {
for (int i = 0; i < 100; ++i) {
std::cout << foo(i) << std::endl;
// 0 1 1 1 1 1 ..
// should be 0 1 2 3 4 ...
}
return 0;
}