Beispiel

class Base {
public:
void fnc(){}
};


class Derived: public Base {
public:
void fnc(){}
};


void f
unction(Derived *dp){

Base *ptr = (Base *dp;
ptr->fnc();

}

Lösung
Setzen Sie einen Zeiger einer Klasse nicht in den Zeiger einer Klasse um, aus der er Elemente übernommen hat.

class Base {
public:
virtual void fnc(){}
};


class Derived: public Base {
public:
virtual void fnc(){}
};


void function
(Derived *dp){

dp->fnc();

}