如何從父類訪問變量?我想下面的代碼將做到這一點,但是當我嘗試打印出的名字在Controller.cpp值我得到的錯誤:如何訪問父類中的變量
Member access into incomplete type 'TestApp'
TestApp.cpp
#include "cinder/app/AppNative.h"
#include "Controller.h"
using namespace ci;
using namespace ci::app;
using namespace std;
class TestApp : public AppNative
{
public:
void setup();
void update();
string name = "Parent";
Controller controller;
};
void TestApp::setup()
{
controller.setup(this);
}
void TestApp::update()
{
controller.update();
}
CINDER_APP_NATIVE(TestApp, RendererGl)
控制器.H
#pragma once
class TestApp;
class Controller
{
public:
void setup(TestApp* parent);
void update();
TestApp* p;
};
Controller.cpp
#include "Controller.h"
void Controller::setup(TestApp* parent)
{
p = parent;
}
void Controller::update()
{
std::cout << p->name << std::endl;
}
非常感謝,我認爲我想到了 – davivid
在我的測試中,我一直在Controller.h中添加'#include「TestApp.h',而不是在Controller.cpp中,我沒有意識到這有所作爲! – davivid