부모 클래스에서 변수에 액세스하려면 어떻게해야합니까? 나는 아래의 코드는이 작업을 수행 할 것이라고 생각하지만 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.cpp 대신 Controller.h에'#include "TestApp.h'를 추가했다. – davivid