我是一个很长时间的Java用户用Qt学习C++,我在理解方法如何工作方面遇到了很多麻烦.现在,我正在试图找出数据库,并试图用标题简化我的代码.通常在Java中我只有一个名为DatabaseControl的类,它带有一个void方法,可以执行我想要的任何操作.例如,正如我现在所做的那样,将员工添加到数据库.我通过做类似的事情来实例化这个类

DatabaseControl myDBControl = new DatabaseControl();

然后用.执行方法

myDBControl.addEmploye();

这将为用户提供一系列输入框,以输入员工姓名,部门等信息.

所以,现在转到C++.我有我的标题

class DatabaseControl

{

public:

DatabaseControl();

~DatabaseControl();

//Methods

void addEmployee();

};

我的构造函数中没有任何参数,因为我想要做的就是在我的main中调用"addEmployee"方法,如上所示.在同一个头文件中,我在我的类声明下面有这个

void DatabaseControl::addEmployee(){

QSqlQuery qry;

bool ok;

QString firstName = QInputDialog::getText(NULL, "QInputDialog::getText()",

"Employee first name:", QLineEdit::Normal,

NULL, &ok);

if (ok && !firstName.isEmpty()){}

else{

QMessageBox msgBox;

msgBox.setWindowTitle("Error");

msgBox.setText("Failed to add employee.\nReason: No employee name given.");

msgBox.exec();

}

QString lastName = QInputDialog::getText(NULL, "QInputDialog::getText()",

"Employee last name:", QLineEdit::Normal,

NULL, &ok);

if (ok && !lastName.isEmpty()){

qry.prepare("INSERT INTO employees (firstname, lastname)" "VALUES (:f1, :f2)");

qry.bindValue(":f1", firstName);

qry.bindValue(":f2", lastName);

qry.exec();

}

else{

QMessageBox msgBox;

msgBox.setWindowTitle("Error");

msgBox.setText("Failed to add employee.\nReason: No employee name given.");

msgBox.exec();

}

}

然后在我的主要我有这个:

void MainWindow::on_addEmployee_clicked()

{

DatabaseControl myDBControl();

myDBControl.addEmployee();

}

我希望只运行我在头文件中写的addEmployee方法.但是,当我编译时,我得到错误错误:C2228:'.addEmployee'的左边必须有class/struct/union

我已经查看了这个错误的其他实例,并没有真正理解错误的原因,我觉得它来自于我对C++中的方法的误解,因为我在Java中知道这样的东西可以正常工作(假设代码在标题是正确的,它很可能不是)

c语言中错误c2228,错误:C2228:''必须有class/struct/union相关推荐

  1. C语言中的语法错误和语义错误

    语法错误 1:如果不遵循C语言的规则就会犯语法错误,它类似于英语中的语法错误. 例如(Bugs frustrate be can)这句英语 可以看出句子中的英语单词都是正确的,但是没有按照正确的顺序组 ...

  2. c语言中格式符号错误,C语言中符号格式说明

    scanf 语法: #include int scanf( const char *format, ... ); scanf()函数根据由format(格式)指定的格式从stdin(标准输入)读取,并 ...

  3. c语言中出现void错误,关于C语言问题

    2007-04-25 C语言中,为什么有的自定义函数中,函数名前面有个 void ,例如void encryptchar(),它是说数据类型是空的吗 类型说明符"void"表示函数 ...

  4. c语言中哪个是错误的常量,以下所列的C语言常量中,错误的是__________ 。

    摘要: 焊接时间过短,下语会造成虚焊和假焊现象常量错误声明变量的含义是通知编译系统为变量分配合适大小的存储空间.下语SMT印刷机可分为( )三个档次... 焊接时间过短,下语会造成虚焊和假焊现象 所列 ...

  5. c语言中的语义错误和语法错误,C语言程序中对错误的调试

    程序调试 现在我们已经可以编写一个简单的 C语言程序了,但是你可能会犯一些简单的错误.程序的错误通常叫做 bug,而发现和修正这些错误的过程叫做调试.下面有一个带有一些错误的程序,看看你能找出多少. ...

  6. c语言中出现nan错误,c语言中浮点运算的inf和nan错误

    ============================================ 作者:yuanlulu http://blog.csdn.net/yuanlulu 版权没有,但是转载请保留此 ...

  7. c语言中组件出现错误,错误:R6034 运行时错误! 应用程序尝试加载 C 运行库时出现错误。 有关详细信息,请联系应用程序的支持团队...

    错误:R6034 运行时错误! 应用程序尝试加载 C 运行库时出现错误. 有关详细信息,请联系应用程序的支持团队 错误消息 ArcGIS Engine 应用程序 10.4 和 10.4.1 版本会返回 ...

  8. C语言中重定义 错误

    假设有三个文件 node.h //定义节点 list.h //对链表的操作函数 test.c //测试函数 包含关系如下: list.h中 #include "node.h" te ...

  9. c语言中组件出现错误,错误消息:无法载入文件或组件 或其相依性的其中之一。 找到的组件资讯清单定义与组件参考不符。 (发生例外状况于 HRESULT: 0x80131040)...

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 摘要:错误消息:无法载入文件或组件 或其相依性的其中之一. 找到的组件资讯清单定义与组件参考不符. (发生例外状况于 H ...

  10. c语言中应用程序错误,应用程序错误0xc0000022 浅析win10应用程序错误0xc0000022的应对办法...

    今天小编给大家浅析win10应用程序错误0xc0000022的应对办法,其实出现应用程序错误0xc0000022是因为win10缺少了系统所需要的某种组件功能的原因,遇到此问题的用户,可参照以下的方法 ...

最新文章

  1. ueditor编辑器和at.js集成
  2. 《评人工智能如何走向新阶段》后记(再续25)
  3. 幼儿园体育游戏电子计算机教案,幼儿园大班体育游戏教案
  4. Qt 之 Qt/Qt Lite 自编译详解(VS/MinGW/...)
  5. 使用ExtJS做一个用户的增删改查
  6. android新版本广告,新增朋友圈广告?微信6.1安卓新版发布
  7. 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?...
  8. eureka多了一个莫名其妙的服务_这些手游服务器全部飘红,每一个服务器都人多到爆满...
  9. php转义还原,PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例_PHP
  10. 简单的网页制作期末作业——html css javascript小礼品购物商城网站
  11. xp 无法关闭计算机,xp系统不能关机了怎么办
  12. JTextField文本框的使用
  13. javascript eval 函数作用
  14. 复杂多边形的三角剖分
  15. NUnit的入门学习
  16. kptr_restrict 向用户空间内核中的指针(/proc/kallsyms-modules显示value全部为0)
  17. Web 3D集成开发环境【nunuStudio中文版】
  18. int型和char型之间的类型转换
  19. 程序员如何克服浮躁的心态?然后静下心来韬养自己的技术?
  20. 完成一个STM32的USART串口通讯程序

热门文章

  1. PHP网站配置项,Thinkphp5通用网站后台配置项的动态添加及更新
  2. 测试管理 | 4种优先级排序方法一定要掌握
  3. PyCharm安装与配置,python的Hello World
  4. 支付宝 报错 rsa_private read error : private key is NULL解决方法
  5. 实测java 与php运行速度比较
  6. cetos 中vsftpd从安装到配置完全教程
  7. Oracle推出支援.NET 3.5与Visual Studio 2008的开发工具
  8. oracle中varchar2的储存长度
  9. 运行第一个 docker image 并在浏览器中查看
  10. linux红黑树节点没有数据,真正理解红黑树,真正的(Linux内核里大量用到的数据 -电脑资料...