• 4452阅读
  • 8回复

在头文件中这样声明一个指针不可以吗? [复制链接]

上一主题 下一主题
离线robertkun
 

只看楼主 倒序阅读 楼主  发表于: 2009-05-19
protected:
    QPushButton* ButtonA;

报错如下:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>g:\qt\testqt7\testqt7.h(30) : error C2143: syntax error : missing ';' before '*'
1>g:\qt\testqt7\testqt7.h(30) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>g:\qt\testqt7\testqt7.h(30) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

这是为什么呢?
                                              简单的生活使人快乐!
离线rqzrqh

只看该作者 1楼 发表于: 2009-05-19
private
离线cooljeff
只看该作者 2楼 发表于: 2009-05-19
要把类QPushButton前置声明一下:class QPushButton;
离线robertkun

只看该作者 3楼 发表于: 2009-05-19
哈哈,我找到原因了,是因为没有在头文件中  #include <QPushButton>

叮当搞笑一下..
                                              简单的生活使人快乐!
离线cooljeff
只看该作者 4楼 发表于: 2009-05-19
引用第3楼robertkun于2009-05-19 16:59发表的  :
哈哈,我找到原因了,是因为没有在头文件中  #include <QPushButton>
叮当搞笑一下..

在头文件里面如果只是定义指针的话,最好不要包括头文件,前置声明一下就可以了。
离线robertkun

只看该作者 5楼 发表于: 2009-05-20
引用第4楼cooljeff于2009-05-19 17:05发表的  :
在头文件里面如果只是定义指针的话,最好不要包括头文件,前置声明一下就可以了。


大哥,请问一下前置声明的意思是  放到构造函数的前面吗?
                                              简单的生活使人快乐!
离线robertkun

只看该作者 6楼 发表于: 2009-08-12
                                              简单的生活使人快乐!
离线watera
只看该作者 7楼 发表于: 2009-08-12
前置声明为:
class QPushButton;
class yourClass:public QWidget{
private:
    QPushButton* btn;};
在实现文件中#include <QPushButton>
在大量链接文件时速度比较快
离线浪迹江湖

只看该作者 8楼 发表于: 2009-08-12
robertKun加QQ:469421514
我教你Qt
快速回复
限100 字节
 
上一个 下一个