'WindowList'클래스로 내 창을 관리하려고 할 때 순환 종속성에 문제가 있습니다. 아래 closeButtonPressed 코드로 창을 닫으려면 windowList 파일에서 개체를 제거해야하지만 WindowList 파일에 WindowSetter를 포함합니다. 이와 같은 이전 오류는 앞으로 선언을 통해 해결할 수 있지만이 문제를 해결하는 방법을 잘 모릅니다. 애니 제안? (전체 코드는 여기에서 볼 수 있습니다 : https://gist.github.com/anonymous/7d43c6d5b2cf1fef618be9f75077ad0c)불완전 유형 InNested 이름 지정자 JUCE
#pragma once
#include "../JuceLibraryCode/JuceHeader.h"
#include "WindowList.h"
class WindowList;
class WindowSetter : public DialogWindow
{
public:
WindowSetter (const String& title,
Component* content,
bool shouldBeResizeable,
int initWidth, int initHeight,
int minWidth, int minHeight,
int maxWidth, int maxHeight)
: DialogWindow (title, Colours::white, true, true),
owner (this)
{
setUsingNativeTitleBar (true);
setResizable (true, true);
setResizeLimits (minWidth, minHeight, maxWidth, maxHeight);
setContentOwned (content, false);
setVisible (true);
}
~WindowSetter()
{
}
void closeButtonPressed() override
{
WindowList::getWindowList(); // ERROR: Incomplete type 'WindowList' named in nested name specifier
owner = nullptr;
}
bool escapeKeyPressed() override
{
return true;
}
private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (WindowSetter)
ScopedPointer<Component> owner;
};
편집 : 오류 및 오류 로그 스크린 샷을 일으키는 원인이되는 파일의 전체 코드를 추가
이것은 정확하게 내가 찾는 해결책의 종류입니다! JUCE/C++에서의 hello world보다 여전히 새로운 것 – Jefferson
JUCE 예제의 소스를 읽는 데 반복되는 시간이 반복됩니다. – bgporter