相关文章推荐
苦闷的围巾  ·  const (C++) | ...·  2 月前    · 
踏实的碗  ·  Java 枚举(enum) ...·  1 年前    · 
英姿勃勃的烤面包  ·  Android Handler ...·  1 年前    · 
直爽的柑橘  ·  DBMS_STATS.GATHER_SCHE ...·  1 年前    · 
Ui::GetUserFaceDialog *ui;

当在其它类中用如下代码使用GetUserFaceDialog时出现如下错误
D:\FaceDetection\fr_qt\manageusersdialog.cpp:56: error: C2228: “.exec”的左边必须有类/结构/联合

有点郁闷,经过试验,解决方案如下:
1、在括号中加入this

GetUserFaceDialog dialog(this);
dialog.exec();

2、去掉括号

GetUserFaceDialog dialog;
dialog.exec();

即可解决问题

GetUserFaceDialog dialog();
这里是声明了一个名为dialog 返回值为GetUserFaceDialog的函数,而非dialog对象。

原文链接:https://blog.csdn.net/qq_36131739/article/details/73163106

开发环境:Qt 5.6.1 (MSVC 2013, 32 bit) 我写了如下代码:GetUserFaceDialog dialog(); dialog.exec();GetUserFaceDialog的定义如下: class GetUserFaceDialog : public QDialog Q_OBJECT public: explicit GetUserFaceD error C2228 : ".***"的 左边 必须 有类 / 结构 / 联合 error C2065: "***": 未声明的标识符 error C1903: 无法从以前的错误中恢复;正在停止编译 原因:不同操作系统下的编码是不同的,ubuntu下是以unicode编码,而中文则是以utf-8进行编码的。windows下主要用gbk进行编码的。 解决方法:在visual stud... 如果在构造函数中初始化数据,只要调用构造函数就可以了{publicprivate};{m_hash.insert("image",QStringLiteral("图像数据"));m_hash.insert("region",QStringLiteral("区域数据"));m_hash.insert("contours",QStringLiteral("轮廓数据"));}{//修改了此处returnen;}{//修改了此处returnch;}... 是需要了解A的大小的,不然是不可能知道如果给类B分配内存大小的,因此不完整的前置声明就不行, 必须 要包含a.h来获得类A的大小,同时也要重新编译类B。 再回到前面的问题,使用前置声明只允许的声明是指针或引用的一个原因是只要这个声明没有执行需要了解类A的大小或者成员的操作就可 c++ 表达式 必须 包含类类型 VC_ error _code: c2228 1.这样的错误一般发生在使用’.’进行访问时,原因可能在于: 2.你以为你定义了一个类对象,其实你是声明了一个函数,在编译器看来; 系列文章韩冰:使用c/ c++ 编写python扩展(一):定义模块函数与异常​zhuanlan.zhihu.com韩冰:使用c/ c++ 编写python扩展(二)- Vscode Python C++ 联合 调试​zhuanlan.zhihu.com 本文继续介绍使用c/ c++ 编写python扩展。上文介绍了定义Python模块,函数与异常,并且介绍了如何编写setup.py构建和打包。Pyt...