AYUDA: problema con funcion miembro de clase

Iniciado por t4r0x, 12 Diciembre 2014, 02:10 AM

0 Miembros y 1 Visitante están viendo este tema.

t4r0x

Cita de: Eternal Idol en 12 Diciembre 2014, 18:34 PM
http://www.parashift.com/c++-faq/memfnptr-vs-fnptr.html
pero ya dije que no quiero hacer la funcion estatica porque hace que el codigo tenga mas errores tipo en cascada... yo quiero saber si existe una manera de resolve mi codigo de la manera que intento hacerlo sin static

eferion

Y tan complicado es almacenar el puntero a la clase en vez del puntero a la función??

Si tienes que hacer artificios así, te lo repito, es porque esa función debería ser estática... que te salen errores en otros métodos??? bueno, lo mismo también deberían ser estáticos.

En serio, hacer una migración a clases... pero haciendo que el código sea el mismo que cuando no había clases no tiene demasiado sentido.

t4r0x

si guardo un puntero a la clase deberia modificar casi todo el codigo... bueno tampoco el codigo es tan complejo incluso tiene tipo estructura ideal para hacer clases ya que tiene funciones de inicializar que tengo llamar antes de usar alguna otra funcion para establecer unas estructuras que usara las cuales ya he copiado al cuerpo de la clase y he copiado esas funciones de inicializacion en la funcion constructor, en resumen todo esta bien solo que no compila esa parte que tengo problemas...

x64core

#13
Cita de: t4r0x en 12 Diciembre 2014, 16:42 PM
alguien sabe porqué ese codigo de arriba no compila y darme una solucion a ese codigo?
Has intentado con el operador ->* / .* ?
Además la manera que estas intentando obtener un puntero a la función miembro es incorrecta, allí podria haber cualquier función que podría llamarse "funcion1", mas si la función miembro es global. Esto para obtener el puntero:

&Clase::Funcion

Al llamar:


this->*


-

En tu caso linea 20:
(this->*datos->p1)(10);

El código compila y funciona como supongo que quieres que lo haga pero si la aplicación no funciona no seria ese el problema.

t4r0x

Muchas gracias me compilo y la aplicacion funciona!  ;-)