Unerklärbarer Fehler bei Überladung
-
Hallo!
Ich habe folgendes Konstrukt:
class A { meineListe<data> _list; public: void func( A* a, A* b ); }; class B : public A { int buffer; public: void func( B* a, B* b) { A::func(a,b); } };Meine Klassen sind um einiges umfangreicher ( ~1000 Zeilen ).
A* a = new B(); B* b = (B*)a; a->func( &b(), &b()); //ok b->func( &b(), &b()); //errorb->func( &b(), &b()) gibt irgendwann in den tiefen meines Codes einen Segfault. Bevor ich jetzt den ganzen käse poste:
Dafür gibt es doch nicht den geringsten vernünftigen Grund oder nicht?!!?
In B wird doch GENAU das Selbe gemacht wie in A?!?

-
//Edit: Das &b() würde so nicht funktionieren... Habe halt zeiger auf die Objekte, ist nur symbolisch gemeint ....

-
was soll das: ????
a->func( &b(), &b());geht nich einfach
a->func(b, b);würde die funktion aus a Virtual machen
-
StrangeBug schrieb:
//Edit: Das &b() würde so nicht funktionieren... Habe halt zeiger auf die Objekte, ist nur symbolisch gemeint ....

Der Fehlercode ist auch symbolisch?