Ich habe 2 Klassen:
class base {
virtual void foo() {};
};
class derived : public base {
void foo() { base::foo(); }
};
Ich habe einen Fehler gemacht und base:foo();
stattdessen geschrieben base::foo();
. Der Code wurde kompiliert und ausgeführt, aber fehlerhaft.
Ich weiß nicht, wie ich es googeln kann und weiß nicht, was es ist, aber ich bin sehr interessiert: Was bedeutet das?
base:foo();
Falls es wichtig ist:
class base : public QAbstractGraphicsShapeItem
warning: label 'base' defined but not used [-Wunused-label]
... vielleicht müssen wir diese Frage-Seite hinzufügen: Haben Sie versucht, WarnungenAntworten:
ist äquivalent zu:
Aufgrund der unendlichen Rekursion verursacht die Funktion einen Stapelüberlauf.
quelle
foo()
im Aufrufstapel gesehen habe. danke-Wall
, erhalte ich die Warnmeldung: socc.cc:3:4: Warnung: Label 'base' definiert, aber nicht verwendet [-Wunused-label] base: // Ein nicht verwendetes Label.