Пытаюсь использовать встроенный во все виджеты таймер, получаю следующие ошибки:
...\tickingqmessagebox.cpp:5: error: invalid use of incomplete type 'struct QTimerEvent'
...\QtSDK\Desktop\Qt\4.7.3\mingw\include\QtCore\qobject.h:63: error: forward declaration of 'struct QTimerEvent'
Минимальный код (строка с ошибкой содержит комментарий):
#ifndef TICKINGQMESSAGEBOX_H
#define TICKINGQMESSAGEBOX_H
#include <QMessageBox>
class TickingQMessageBox : public QMessageBox
{
Q_OBJECT
public:
explicit TickingQMessageBox(QWidget *parent = 0) : QMessageBox(parent) {};
protected:
void timerEvent(QTimerEvent *);
};
#endif // TICKINGQMESSAGEBOX_H
#include "tickingqmessagebox.h"
void TickingQMessageBox::timerEvent(QTimerEvent * event)
{
if (event->timerId==0) {} // строка с ошибкой
}
main.cpp и .pro файл стандартные, компиляция только под desktop.
При попытке переноса реализации функции из .c в .h файл получаю на той же строке:
error: invalid use of member (did you forget the '&' ?)
P.S. последний SDK, компилирую в Creator