Hallo, ich hab gerade ein Verständnisproblem.
Ich habe in einer Klasse eine Membervariable definiert, die ich in einer Funktion zurückliefere.
Wenn ich das mit einem Pointer mache funktioniert es Problemlos, wenn ich es aber mit einer Referenz versuche bekomme ich die Warnung, dass der Wert einer temporären Variable usw zurückgeliefert wurde.
Oder anderst ausgedrückt:
Wo is der unterschied zwischen dem:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
|
public:
//Funktioniert ohne Warnung
string *GetRoamingPath() { return(&m_ss_RoamingPath.str()); }; //Liefert den Pfad des Roaming Ordners zurück
private:
stringstream m_ss_RoamingPath; //Pfad zum Roaming Ordner
|
und dem:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
|
//Bekomme ich die Warnung
public:
string &GetRoamingPath() { return(m_ss_RoamingPath.str()); }; //Liefert den Pfad des Roaming Ordners zurück
private:
stringstream m_ss_RoamingPath; //Pfad zum Roaming Ordner
|
Mit freundlichen Grüßen,
Ombalat