(gelöst) C++ Const Methoden Problem ..
-
Hallo Zusammen,
irgendwie stehe ich mit Const auf dem Kriegfuss.
Ich habe folgende Methode deklariert und definiert:
class ... { UserInfo *getUserInfo( void ) const; private: UserInfo UserData; }
UserInfo *class::getUserInfo(void) const { return &UserData; }
Hier bei bekomme ich den Fehler:
error: invalid conversion from 'const UserInfo*' to 'UserInfo*'
Ich will ja eigentlich nur eine Referenz auf das Objekt nach Aussen geben.
Gruss
-
Dann nimm:
const UserInfo& class::getUserInfo(void) const
Edit:
Das class ist nur ein Abtippfehler, oder?
-
Ja,
das class habe ich nur als Platzhalter für den eigentlichen Namen genommen.
Werde das direkt ausprobieren ...
Gruss
-
Hi,
das gibt den Fehler
error: invalid initialization of reference of type 'const UserInfo&' from expression of type 'const UserIn
[cpp]
const UserInfo& <KlassenName>::getUserInfo( void ) const
{
return &UserData; <------ Hier
}Gruss
-
Schau dir mal im Buch/Tutorial deiner Wahl das Kapitel zu Referenzen an. Da muss man keinen Adressoperator nehmen.
-
Hi,
hatte vorher auch * da stehen.
Jetzt nimmt der Compiler es ...
Gruss