Kann eine Klassenmethode mit ihrer eigenen KLasse als Parameter gefüttert werden?
-
Hallo Community,
dieses Posting hatte ich wohl offensichtlich nicht ganz politisch korrekt unter c++ versteckt, statt unter .net Hoffe hier passt es jetzt besser.
** Kann eine Klassenmethode mit ihrer eigenen KLasse als Parameter gefüttert werden? **
Ich habe zunächst eine Klasse definiert, die eine Methode beinhaltet, die ihre eigene Klasse als Parameter akzeptiert. Geht das (laut Compiler nicht, aber warum)?
//in Headerdatei Klasse1.h:
ref class Klasse1
{
public:
int wert;
int nocheinwert;
int undnocheiner;public:
void MachWas(Klasse1 ^Kaffee);
}..
//in Klasse1.cpp:
void MachWas(Klasse1 ^Kaffee)
{
Kaffee->wert++;
}..
main()
{
//Ein Array aus der Klasse basteln:
array<Klasse1^> ^Kaffee = gcnew (Klasse1^)(10);//Dann wird zB Kaffee[0] instanziiert:
Kaffee[0] = gcnew (Klasse1^);//und an die eigene Methode als Parameter übergeben werden:
Kaffee[0]->MachWas(Kaffee[0]);..}
Und schon motzt der Compiler, dass die aufegrufene Methode nicht statisch sei. Wenn ich sie als statisch deklariere (also in der Headerdatei schreibe: static void MachWas(..) ), dann läuft die Kiste ja auch. Aber wieso muss die Methode in diesem Fall statisch sein? Wo liegt mein (Denk-)Fehler?
Danke für eure Hilfe!
-