Referenzobjekt auf string anlegen

  • Themenstarter Themenstarter C152778
  • Beginndatum Beginndatum
C

C152778

Hallo,

im unten stehenden Code möchte ich gerne den Rückgabewert der Funktion test als Referenz auf den string setzen, den die Funktion bekommt. Leider klappt das nicht, der string s bleibt unverändert nach der Änderung von t. Wo steckt der Fehler ?

Code:
string& test(string& s);

int main()
{
  string s = "Hello";
  string t = test(s);
  t.append(" and bye.");
  cout << s << endl; // output "Hello"
  cout << t << endl; // output "Hello and bye."
	
  return 0;
}

string& test(string &s) {
  return s;
}

Danke und schöne Grüße, Cyraid

EDIT: Der Fehler steckte in der Deklaration von t, es müsste heißen string& t. So schnell kanns gehen ;)
 
Zuletzt bearbeitet von einem Moderator:
Wenn du eine Referenz haben willst, muss du die Variable auch so deklarieren

string &t = test(s);

Nicht mit Java verwechseln:)
 
Zurück