2011-05-11 132 views
1

我遇到一个小问题QTimer。每当我使用QTimer它表明我这个错误使用QTimer的问题

QTimer *timer = new QTimer(); 

error: invalid use of incomplete type 'struct QTimer' 

所以,我想这个

QTimer timer(); 

现在我摆脱了这个错误,但是当我使用成员QTimer里面表明了我这些错误。例如

timer.start(1000); 

timer->start(1000); 

error: request for member 'start' in 'timer', which is of non-class type 'QTimer*()'

我想包括QTimer但它表明我没有这样的文件或目录错误。

我正在使用Code :: Blocks IDE。

回答

0

应该有一个QTimer标头。如果找不到,那么你可能会让你的包含路径设置错误。如果不存在,请重新安装Qt SDK。

您的代码QTimer timer();是错误的。它不创建QTimer,但是你声明了一个函数'timer',返回类型为'QTimer'。它应该是QTimer timer;,尽管如果它找不到标题,那很可能会给你类似的问题。

11

只需添加

#include <QTimer> 

到源文件的开头。并返回到您的第一个版本:

QTimer *timer = new QTimer(); 
+0

工作!谢谢! – normalUser 2014-12-13 15:13:39