Hallo,
bei meinen ersten Gehversuchen mit C++ erstellte ich eine Klasse für komplexe Zahlen und überlud den Standardausgabeoperator dementsprechend:
Ich kann allerdings nicht nachvollziehen, warum der Parameter z als konstant deklariert sein muss, damit diese Überladung auch mit Funktionen, die eine Instanz von komplex zurückgeben, funktioniert.
Vereinfachtes Beispiel:
Alles anzeigen
bei meinen ersten Gehversuchen mit C++ erstellte ich eine Klasse für komplexe Zahlen und überlud den Standardausgabeoperator dementsprechend:
Ich kann allerdings nicht nachvollziehen, warum der Parameter z als konstant deklariert sein muss, damit diese Überladung auch mit Funktionen, die eine Instanz von komplex zurückgeben, funktioniert.
Vereinfachtes Beispiel:
Quellcode
Fehler: no match for »operator<<« in »std::cout << f()«
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Florian ()