operator überladen
-
CArchive& operator<<(CArchive& ar, CList<int,int> lst);
h:\Projekte\serialisierungs_modul\Singleton.h(22) : error C2804: Binärer Operator '<<' hat zu viele Parameter
-
stimmt.. Der Compiler hat Recht. Wo ist die Frage dazu?
-
dieAntwort² schrieb:
stimmt.. Der Compiler hat Recht. Wo ist die Frage dazu?
da ich das 1 zu 1 aus einem buch abgeschrieben habe würde ich gerne wissen was ich falsch mache
-
du hast 3 parameter es dürfen aber nur 2 sein ..
-
parameter schrieb:
du hast 3 parameter es dürfen aber nur 2 sein ..
wenn du mir den dritten zeigst
-
parameter schrieb:
du hast 3 parameter es dürfen aber nur 2 sein ..
Also ich sehe nur zwei Parameter.
@steff3
Du kannst diverse Operatoren sowohl in der Klasse als auch auf Namensraumebene definieren. In der Klasse benötigt der Operator dann einen Parameter weniger, weil der linke Operand ja bereits das Objekt (*this) selbst ist. IdR definiert man aber binäre Non-Assignment Operatoren ausserhalb der Klasse. Dh, die Syntax wäre eigentlich ok, nur hast du diesen Operator wahrscheinlich innerhalb der Klasse deklariert, oder? Deshalb meckert auch dein Compiler.
-
groovemaster schrieb:
parameter schrieb:
du hast 3 parameter es dürfen aber nur 2 sein ..
Also ich sehe nur zwei Parameter.
@steff3
Du kannst diverse Operatoren sowohl in der Klasse als auch auf Namensraumebene definieren. In der Klasse benötigt der Operator dann einen Parameter weniger, weil der linke Operand ja bereits das Objekt (*this) selbst ist. IdR definiert man aber binäre Non-Assignment Operatoren ausserhalb der Klasse. Dh, die Syntax wäre eigentlich ok, nur hast du diesen Operator wahrscheinlich innerhalb der Klasse deklariert, oder? Deshalb meckert auch dein Compiler.so ist es
-
ich hab jetzt den ersten parameter entfernt und in im rumpf durch this ersetzt
aber es funktioniert nicht
-
steff3 schrieb:
ich hab jetzt den ersten parameter entfernt und in im rumpf durch this ersetzt
Keine gute Idee. Ich würde den Operator auf jeden Fall ausserhalb der Klasse definieren.
steff3 schrieb:
aber es funktioniert nicht
invalid user description