2017-10-17 22 views
0

J'essaie de créer une fenêtre à onglets en lisant à partir d'un ValueTree dans JUCE.JUCE - Fonction membre non viable: 'this' Argument A le type const

J'utilise le code ci-dessous pour définir l'élément racine de l'onglet correspondant sur un enfant de l'arborescence (code complet disponible here). Cependant, je reçois l'erreur:

"Member function 'getValueTree' not viable: 'this' argument has type 'const GlobalValueTree', but function is not marked const".

J'utilise un objet que l'arbre retourné par getValueTree() ou la fonction elle-même sont non-statique. Est-ce que quelqu'un peut me pointer dans la bonne direction pour expliquer pourquoi c'est incorrect et comment s'y prendre pour le réparer?

Répondre

2

I get the error "Member function 'getValueTree' not viable: 'this' argument has type 'const GlobalValueTree', but function is not marked const"

C'est parce que w est const mais la méthode getValueTree peut fonctionner que sur des objets non-const DataSelectorWindow.

Si l'objet DataSelectorWindow a été écrit par vous, et vous pensez que getValueTree() devraient être autorisés à être appelé const objets, changer son prototype à:

<return-value> getValueTree(<params>) const { 
    ... 
} 

Si l'objet DataSelectorWindow a été écrit par quelqu'un d'autre, votre AccelerometerPage c'tor devrait recevoir un non-const DataSelectorWindow&, comme ceci:

AccelerometerPage (DataSelectorWindow& w) { 
    ... 
} 
+0

Merci! J'apprends toujours à travailler avec de plus grands projets et il y a toujours le problème occasionnel qui monte – Jefferson

+0

@Jefferson, chose certaine, bonne chance :) –