【问题标题】:Overriding Qt function in classes在类中覆盖 Qt 函数
【发布时间】:2023-03-08 07:55:01
【问题描述】:

我有一个QDialog 类型的简单对话框。当用户单击“确定”按钮时,我想在关闭表单并返回调用者(主表单)之前进行一些验证。

我尝试在“CustomDialog.cpp”文件中添加以下代码:

void CustomDialog::accept(){
  // My code...
}

但我收到此错误:

错误:虚函数 'accept' 有不同的调用约定 属性('void()')比它覆盖的函数(它有 调用约定 'void () attribute((thiscall))')

我做错了什么?我还需要在 CustomDialog.hpp 中添加一些内容吗?

【问题讨论】:

  • @Rhathin 谢谢!\

标签: c++ qt overriding qdialog


【解决方案1】:

在您的.hpp 中,您应该在CustomDialog 类中声明accept() 方法。即void accept() override;public slots 下。

【讨论】:

  • 不错。那么,调用约定问题到底是什么?
猜你喜欢
  • 1970-01-01
  • 2014-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-03
  • 1970-01-01
相关资源
最近更新 更多