gpt4 book ai didi

c++ - 错误 C2062 : type 'void' unexpected in signal declaration in QT

转载 作者:可可西里 更新时间:2023-11-01 10:32:02 28 4
gpt4 key购买 nike

我是新手,我正在编写一个头文件,在其中声明一个将发出信号的类。所以我用一个构造函数声明我的类,两个 int 变量,我将它们设为 private,然后定义我的 signal。这是我的 .h 文件:

#ifndef KEYBOARD_H
#define KEYBOARD_H

class KeyBoard{
public:
KeyBoard();
int keyboard_update();
private:
int level;
int sub_level;
signals:
void send_to_MBU(QString message);
};

#endif

现在在 .cpp 部分,我只是在构造函数中发出一个信号。这是 .cpp 部分中的代码:

#include "KeyBoard.h"

KeyBoard::KeyBoard()
{
level = 0;
sub_level = 0;
emit send_to_MBU("PRESS ENTER TO SELECT TRAIN"):
}

int KeyBoard::keyboard_update()
{
return 1;
}

但是当我编译我的代码时,我在我的信号声明中遇到了这个错误:

error C2062: type 'void' unexpected

对我来说,代码看起来不错。但是作为新手。我无法弄清楚这个问题。所以,请帮我解决这个问题。

最佳答案

需要申报#include <QObject>.h文件以在 QT 中成功使用信号。这是头文件中唯一缺少的东西。新代码如下所示:-

#ifndef KEYBOARD_H
#define KEYBOARD_H

#include <QObject>

class KeyBoard : QObject{
Q_OBJECT
public:
KeyBoard();
int keyboard_update(char* recieved_key);
private:
int level;
int sub_level;
signals:
void send_to_MBU(QString message);
};

#endif

关于c++ - 错误 C2062 : type 'void' unexpected in signal declaration in QT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51075470/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com