diesen Satz von Objekten und Aussagen zu haben:Verständnis nicht C++ Typenkonflikt: const Foo * Foo * const &
QSet<Foo*> set;
iterator QSet::insert(const T & value) //type of the function I want to call
const Foo * get() const //type of the function I use to get the argument
set.insert(get()); //the line showing up as error
ich den Fehler „keine bekannte Umwandlung für Argument 1 von 'const Foo *' auf ' Foo * const & ". Ich schätze, ich habe Probleme, diese Typen zu lesen, weil ich keine Ahnung habe, was ich tun soll, damit das funktioniert.
Von dem, was ich gelesen habe, gilt das const-Schlüsselwort für den Typ auf seiner linken Seite mit Ausnahme einer obersten Ebene const, die auf der linken Seite des Typs geschrieben werden kann, für den es gilt. Meine Vermutung wäre, dass ich get() zu einer Referenz konvertieren muss, aber ich bin mir nicht sicher, wie ich das machen soll.
Dies ist nicht "top-level' const' ". 'get()' gibt einen Zeiger auf "const Foo" zurück, nicht auf einen "const" -Zeiger. – Barry
Also mein Verständnis, dass ein "const" am Anfang für alles zu seiner Rechten gilt, war falsch? Was genau gilt für ein solches "const"? –