我所遇见的坑(一)

前言

编程多了,就会遇见坑。这些坑可能有自己的不小心,也有可能第三方工具的不小心。本篇记录自己所遇到的关于const的坑,事情起因源于我拷贝一个函数定义,父类函数没有const修饰,子类有const修饰,当我想new一个对象的时候,始终编译不过去。类似如下代码:

1
2
3
4
5
6
7
8
class father
{
virtual bool HasCapture() = 0;
};
class children
{
virtual bool HasCapture() const { return true;}
};

真正的代码要比这个复杂,实例化是宏来调用的,所以我看了老半天,还是找不到哪里出错了。因为用的codeblock,编译过程中输出的都是英文,没有仔细看。后来看了VS编译,发现有提示哪个虚函数没有实现,这才想到看codeblock编译输出的结果。(这是一个惨痛的教训

阅读更多