0
我正在做一个使用QtCreator和C++的GUI界面。 我还使用ROS节点根据我的接口进行操作,为此我需要创建一些全局变量,以便在gui中调用回调时进行更改。GUI Qt全局变量错误
我开始通过创建一个名为globals.h一个头文件就像我在一些后看到并写道:
globals.h
在mainwindow.cpp#ifndef GLOBALS_H
#define GLOBALS_H
extern int numberM;
extern int duty[16];
extern int place[16];
#endif // GLOBALS_H
然后(即当我使用Qt创建一个图形用户界面并在其中编写回调时,会自动创建)我做了以下操作:
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "globals.h"
namespace
{
int numberM;
int duty;
int place;
}
然而,当我尝试做一些如为NUMBER = 0它给了我下面的错误:
mainwindow.cpp:18: error: reference to 'numberM' is ambiguous numberM = 0;
我想我没有正确认识全局变量,在这种情况下是如何工作的。这有点令人困惑。我是否还需要在mainwindow.h文件中声明globals.h,或者我错过了什么/做错了什么?
在此先感谢!