
啊
#ifndef A_H#define A_H#include "B.h"class A : public B{ Q_OBJECTpublic: A();};#endif A.cpp
#include "A.h"A::A(){ B::ui->blancH2->setValue(2);} B.h
#include <QWidget>#ifndef B_H#define B_Hnamespace Ui { class B;}class B{ Q_OBJECTpublic: explicit B(QWidget *parent = 0);public: Ui::B *ui;};#endif 编译结果我有下一个错误:
A.cpp:在构造函数’A :: A()’中:无效使用不完整类型’类Ui :: B’
B.h:’类Ui :: B’的前向声明
谁能解释为什么我有这个错误?
@H_404_34@解决方法 检查你ui_B.h.最后,你应该看到namespace Ui { class B: public Ui_B {};} 如果不是,您可以在Qt Designer中打开.ui文件,选择您的小部件,在Object Inspector中,将’Object’下的字符串更改为’B’.如果您的小部件是对话框,则默认值为“Dialog”.
不要直接修改ui_B.h,因为它是由Qt编译器生成的,每次编译时都会被覆盖.
总结以上是内存溢出为你收集整理的c – Qt:无效使用不完整类型和前向声明全部内容,希望文章能够帮你解决c – Qt:无效使用不完整类型和前向声明所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)