GUI Qt全局变量错误

时间:2017-04-18 10:28:18

标签: c++ qt user-interface

我正在使用QtCreator和C ++进行GUI界面。 我也使用ROS节点根据我的界面进行操作,为此我需要创建一些全局变量来在gui中调用回调时进行更改。

我开始创建一个名为globals.h的头文件,就像我在一些帖子中看到的那样,写了以下内容:

globals.h

for

然后在mainwindow.cpp中(当我使用Qt创建GUI并在其中编写回调时自动创建)我执行了以下操作:

mainwindow.cpp

#ifndef GLOBALS_H
#define GLOBALS_H

extern int numberM;
extern int duty[16];
extern int place[16];

#endif // GLOBALS_H

但是,当我尝试执行numberM = 0时,它会给我以下错误:

  

mainwindow.cpp:18:错误:对'numberM'的引用是不明确的数字M.   = 0;

我想我并没有正确理解全局变量在这种情况下是如何工作的。这有点令人困惑。我是否还需要在mainwindow.h文件中声明globals.h,或者我遗漏/做错了什么?

提前致谢!

1 个答案:

答案 0 :(得分:0)

PushNotificationPayload payload = PushNotificationBigPayload.complex(); 意味着您的变量将在没有初始化的情况下定义。所以你的标题是正确的/你只需要初始化全局变量

P.S。也是为了让您的代码只使用名称空间

extern
相关问题