Als ich meinen C ++ - Code zum ersten Mal mit GCC 4.3 kompilierte (nachdem ich ihn erfolgreich ohne Warnungen in 4.1, 4.0, 3.4 mit den -Wall -Wextra
Optionen kompiliert hatte ), bekam ich plötzlich eine Reihe von Fehlern im Formular warning: type qualifiers ignored on function return type
.
Bedenken Sie temp.cpp
:
class Something
{
public:
const int getConstThing() const {
return _cMyInt;
}
const int getNonconstThing() const {
return _myInt;
}
const int& getConstReference() const {
return _myInt;
}
int& getNonconstReference() {
return _myInt;
}
void setInt(const int newValue) {
_myInt = newValue;
}
Something() : _cMyInt( 3 ) {
_myInt = 2;
}
private:
const int _cMyInt;
int _myInt;
};
Laufen g++ temp.cpp -Wextra -c -o blah.o
:
temp.cpp:4: warning: type qualifiers ignored on function return type
temp.cpp:7: warning: type qualifiers ignored on function return type
Kann mir jemand sagen, was ich falsch mache, was gegen den C ++ - Standard verstößt? Ich nehme an, dass bei der Rückkehr nach Wert die Führung const
überflüssig ist, aber ich habe Probleme zu verstehen, warum es notwendig ist, damit eine Warnung zu generieren. Gibt es andere Orte, an denen ich die Konstante weglassen sollte?