我有 3 个类 - GLWidget、Window 和规则。 Window 创建了一个名为“m_glWidget”的 GLWidget 对象,我试图从类规则中访问它。我试过使用“外部”并进行更改,但似乎没有任何效果。我得到的最接近的是一个错误,上面写着“为'm_glWidget'指定的存储类”,但我不确定这意味着什么。这是我的代码:
窗口.h
#include "glwidget.h"
#include "rules.h"
class GLWidget; class rules;
class Window : public QDialog, public Ui::frmMain
{
Q_OBJECT;
public:
Window(QWidget *parent = 0);
rules *gameRules;
GLWidget *m_glWidget;
窗口.cpp
#include "rules.h"
#include "glwidget.h"
class rules; class GLWidget;
using namespace std;
Window::Window(QWidget *parent):QDialog(parent)
{
m_glWidget = new GLWidget;
gameRules = new rules;
规则.h
#include "windows.h"
#include "glwidget.h"
class rules{
public:
rules();
extern GLWidget *m_glWidget;
规则.cpp
#include "window.h"
#include "glwidget.h"
using namespace std;
rules::rules(){
}
void rules:: print(){
cout << m_glWidget->x << endl;
}
最佳答案
这个怎么样?
#include "windows.h"
#include "glwidget.h"
class rules{
public:
rules(GLWidget *glWidget)
: m_glWidget(glWidget)
{
}
GLWidget *m_glWidget;
关于c++ - 将我的对象声明为 'extern' 会出现 "storage class specified"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27124670/