今天发现一个Bug,让我哭笑不得。
看下面一段代码:
class A
{
…
int length();
…
}
int main()
{
A a;
…
if(a.length !=date_length)
return -1;
…
}
发现什么问题了?你会发现编译器可以正常编译,然而执行总是返回-1。为什么?唉,a.length不是一次函数调用,而是返回了一个函数指针,导致这次比较成立的概率,比我成为Super Bill小的多太多,虽然我觉得对我也是不可能的。这种错误如此细小,以至于很容易被忽略,唉,这是不是一件很好玩的事情?