[Gelöst]Error: künstlich erzeugte Methode zuerst hier erfordert?
-
Mein Compiler meckert:
Anmerkung: künstlich erzeugte Methode »SplitProtocoll& SplitProtocoll::operator=(const SplitProtocoll&)« zuerst hier erfordertAber was wil er mir sagen?
Code:
SplitProtocoll pro(file_information_path, argc[3], argc[5], length, 0); protocoller=pro;Bitte um Hilfe
-
Ich kann mit den deutschen Warnungen überhaupt nichts anfangen, aber hast Du einen passenden operator= definiert?
-
nein hab ich nicht ich dachte das währe immer der zuweisungsoperator?
-
Da steht "Anmerkung", also ist das selbst keine Fehlermeldung. Wahrscheinlich bezieht es sich auf eine andere Warnung oder Fehlermeldung.
BTW ich würde auf Englisch umschalten, wenn das irgendwie geht ...
-
ja gut ich habs jetzt hingekriegt aber ich hab so das gefühl das ich nicht die objekte sondern die referenzen zu den objecten in den variablen speichern sollte.
-
Zeig ein bisschen Code und schalte auf Englisch um, dann können wir Dir das viel leichter beantworten.
-
Dieser Thread wurde von Moderator/in nman aus dem Forum Linux/Unix in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
squareC schrieb:
ja gut ich habs jetzt hingekriegt aber ich hab so das gefühl das ich nicht die objekte sondern die referenzen zu den objecten in den variablen speichern sollte.
Heißt also Du wolltest ursprünglich Referenzen in Deiner Klasse halten und hast keinen Zuweisungsoperator definiert? Dann wird die Meldung vermutlich aussagen, dass der Default-Zuweisungsoperator nicht übersetzt werden kann, da man Referenzen nicht verbiegen kann.
Dass die Änderung von Referenzen auf Objekte (was ich aus dem obigen Satz herauslese) das Problem löst, ist soweit klar. Ob aber die Klasse jetzt noch das leistet, was Du geplant hast, sei mal dahingestellt.