调试虚函数

时间:2014-07-18 08:19:21

标签: c++ qt

我正在使用QT开发c ++代码。我在我固有的类中定义了我的虚函数。但是当我想调试时,调试器不会进入我的功能。我的意思是当我在这条线上时:

 myClassInstance->Foo(SujectNum,Subjects);

然后按F11进入Foo函数,虽然我把断点放在函数内部,但它并没有进入内部。 我该如何调试这个函数?

1 个答案:

答案 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;
  ...
};