我正在使用QT开发c ++代码。我在我固有的类中定义了我的虚函数。但是当我想调试时,调试器不会进入我的功能。我的意思是当我在这条线上时:
myClassInstance->Foo(SujectNum,Subjects);
然后按F11进入Foo
函数,虽然我把断点放在函数内部,但它并没有进入内部。
我该如何调试这个函数?
答案 0 :(得分:1)
很可能你并没有覆盖正确的方法。确保标头在每个overriden方法的声明之后添加Q_DECL_OVERRIDE
关键字,并使用C ++ 11编译器进行编译。将CONFIG += c++11
添加到项目文件中。
#if __cplusplus > 199711L
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
#define Q_DECL_OVERRIDE override
#endif
#else
#error You need a C++11 compiler to compile this code.
#endif
class Foo : public Bar {
public:
void foo(int index, const QList<Subject> & subjects) Q_DECL_OVERRIDE;
...
};