J'ai un problème avec les dépendances circulaires lorsque j'essaie de gérer mes fenêtres avec une classe 'WindowList'. Quand je veux fermer une fenêtre avec le code de closeButtonPressed ci-dessous, j'ai besoin de retirer l'objet du fichier windowList, cependant j'inclus WindowSetter dans le fichier WindowList. Les erreurs précédentes comme celle-ci ont pu être résolues grâce à une déclaration directe, mais je ne suis pas sûr de savoir comment résoudre celui-ci. Anny suggestions? (code complet peut être consulté ici: https://gist.github.com/anonymous/7d43c6d5b2cf1fef618be9f75077ad0c)Incomplete Type InNested Nom Spécificateur 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;
};
modifier: Ajout le code complet du fichier provoque l'erreur et une capture d'écran du journal d'erreur
C'est exactement le genre de solution que je cherche! Encore tout à fait nouveau pour JUCE/rien de plus que bonjour monde en C++ – Jefferson
Le temps passé à lire la source des exemples JUCE sera payant encore et encore. – bgporter