Código
class XX{ public: }; class XY{ public: }; typedef void (XX::*pfun)(void); class X:public XX,XY{ public: int ff(int a){ return a; } static pfun f; static struct _t{ pfun f; }t; }; pfun X::f=pfun(&X::ff);//?????? struct X::_t X::t={pfun(&X::ff)};//??????
Citar
1>main.cpp(28): error C2440: '<function-style-cast>' : no se puede realizar la conversión de 'int (__thiscall X::* )(int)' a 'pfun'
1> Los punteros a miembros tienen distintas representaciones; no se puede realizar la conversión entre ellos
1>main.cpp(29): error C2440: '<function-style-cast>' : no se puede realizar la conversión de 'int (__thiscall X::* )(int)' a 'pfun'
1> Los punteros a miembros tienen distintas representaciones; no se puede realizar la conversión entre ellos
1> Los punteros a miembros tienen distintas representaciones; no se puede realizar la conversión entre ellos
1>main.cpp(29): error C2440: '<function-style-cast>' : no se puede realizar la conversión de 'int (__thiscall X::* )(int)' a 'pfun'
1> Los punteros a miembros tienen distintas representaciones; no se puede realizar la conversión entre ellos
si utilizo herencia simple funciona... el tema es con la herencia múltiple:
Código
class X:public XX,XY
alguno que utilice ese compilador me puede tirar un cable?
S2