标题:我突然发现现在前置类申明可以直接创建对象了
作者:smallcsduck
日期:2016-04-21 18:06
内容:
不知道是不是c++标准改变了
以前不是前置申明 只能用指针和引用么?
下面这么写在vs2015一点问题没有
#include
#include "ui_qtopencv2.h"
class QString;
class QImage;
class QPixmap;
namespace cv
{
class Mat;
}
class qtopencv2 : public QMainWindow
{
Q_OBJECT
public:
qtopencv2(QWidget *parent = 0);
~qtopencv2();
private slots:
void openimage();
void saveimage();
void convertrd();
private:
Ui::qtopencv2Class ui;
QString openfile;
QString savefile;
QImage doimage;
QImage doneimage;
QPixmap dopix;
QPixmap donepix;
cv::Mat *cvpix;
void showresult();
};
#1 [kimtaikee 04-21 19:40]
你把cv::Mat 后面的星去掉试试
#2 [stlcours 04-21 22:25]
去掉你的UI之后,我特意用QT4+VS2008试了一下,编译也没有问题。
>>以前不是前置申明 只能用指针和引用么?
这样做,通常指未知的类。但是所有的QT类都是已知的,所以没有问题。
#3 [dbzhang800 04-21 22:59]
#include
#include "ui_qtopencv2.h"
有这两行代码在,你是得不出标题中的结论的。
#4 回 dbzhang800 的帖子 [smallcsduck 04-22 02:14]
dbzhang800:有这两行代码在,你是得不出标题中的结论的。 (2016-04-21 22:59)
貌似你说的很对 ui_~~~.h那个头文件都包含了
#5 回 smallcsduck 的帖子 [hezf 04-22 08:09]
smallcsduck:貌似你说的很对 ui_~~~.h那个头文件都包含了
(2016-04-22 02:14)
一直没看懂
难道是你以为Qwidget是未知的?
qmainwindow就是继承自它的啊~大兄弟