streicht qualifizierer
-
Hallo,
ich bin neu in c++ und verstehe nicht was es heisst wenn mein compiler sagt: Die Übergabe als "const foo" als "this"-argument von "foo::bar(int)" streicht qualifizierer
Was ist denn ein qualifizierer und was will mir der compiler sagen? Ich will jetzt kein minimalbeispiel konstruieren sondern nur wissen was die fehlerquelle ist...
danke euch
-
gastsatg schrieb:
Ich will jetzt kein minimalbeispiel konstruieren sondern nur wissen was die fehlerquelle ist...
Und wie sollen wir die Fehlerquelle ohne Minimalbeispiel finden? Hä?
Ok, hier geht's mal. Du hast const hinter ) bei der Deklaration vergessen.
Mit einem Minimalbeispiel hätte ich sogar den Code übernehmen und reparieren können.
-
Das "streicht" hätte man wohl besser als "verletzt" übersetzen sollen. Qualifizierer sind const und volatile. Da man an volatile nicht viel falsch machen kann, tritt dieser Fehler sehr oft dann auf, wenn man const verletzt, etwa weil man eine nicht-const Methode in einer const-Methode benutzt (oftmals indem man dort keine const_iteratoren benutzt). Deswegen ist const auch so ansteckend. Hast du es an einer Stelle, zwingt dich der Compiler, es an allen Stellen richtig zu machen.
-
vielen dank. Jetzt verstehe ich es und auch meinen fehler. @seppJ: in der tat verwirrte mich die Bezeichnung "streicht" - ich ebenfalls (persönlich) finde hier "verletzt" besser.
danke euch