Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

elGuille.Hosting, seguramente los mejores precios de alojamiento

Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu interés (algunos de los avisos publicados)

14/ene/2006
En la página de inicio se muestra la bandera de tu país, o al menos debería mostrarse si es que tu dirección IP está en mi base de datos. Si no te muestra la bandera, seguramente se mostrará un link para que me digas que IP estás usando y de que país eres... si es así, te agradecería que me lo dijeras.
También puedes poner la imagen de la bandera de tu país en tus mensajes, aquí te explico como.

  Foro: C / C++.General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 54415 - Problema con funciones, clases y uniones.
IDAsuntoFechaNick 
54415 Problema con funciones, clases y uniones.08/12/10 23:01Mr. VB 6   
Hola cpmpañeros:
Tengo un programa donde estan definicas las siguientes estructuras y las clases Graficos, Logica y Comunicaciones.

typedef union
{
    void (Graficos::*pFuncion1)(void);
    void (Logica::*pFuncion2)(void);
    void (Comunicaciones::*pFuncion3)(void);
}
PointerToFunction;

typedef struct
{
    Eventos evento;
    IdEstados proxEstado;
    PointerToFunction pAccion;
}
Estado;

Ahora creo varias instancias de Estado. Si en la primera instancia pAccion es un puntero a una funcion miembro de Graficos, en la segunda instancia, puede ser un puntero a una funcion miembro de Logica? Es que me tira un error y no estoy seguro de por que. El error es el C2440.

Si no se puede y alguien sabe como hacerlo, por favor decirme.

Un saludo

[Editado: Mr. VB 6, 08/12/2010 23:04:54]
[Mr. VB 6, 08/12/2010 23:06:44]
IDAsuntoFechaNick 
54416 Re: Problema con funciones, clases y uniones. (Resp: 54415)08/12/10 23:26RFOG   
¿Qué error te da?

No debería haber ningún problema, sólo tienes que llamar al miembro adecuado de la unión...


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
54419 Re: Problema con funciones, clases y uniones. (Resp: 54416)09/12/10 11:36Mr. VB 6   
El error que me tira es el C2440 (arriba lo dice). Asi es como creo las instancias. Los eventos y estados no importan, le puse unos genericos.
static const Estado EstMenuPrincipal[] =
{
    {evento1,estado1,&(Graficos:: DibujarMenuPrincipal)}
};

static const Estado EstConectarComoCliente[] =
{
    {evento2,estado2,&(Comunicaciones:: ConectarComoCliente)}
};
En realidad cada instancia es un arreglo de "Estado". Solo puse uno para simplificar.

Gracias por contestar (y tan rapido).

[Editado: Mr. VB 6, 09/12/2010 11:37:56]
[Mr. VB 6, 09/12/2010 11:40:04]
[Mr. VB 6, 09/12/2010 11:41:39]
[Mr. VB 6, 09/12/2010 11:42:17]
[Mr. VB 6, 09/12/2010 11:42:56]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
54420 Re: Problema con funciones, clases y uniones. (Resp: 54419)09/12/10 12:09Mr. VB 6   
Por alguna razon solo me toma el primer puntero a funcion de la union, ya que si a las instancias las pongo al reves, me tira el mismo error en el mismo lugar. De esta forma:
static const Estado EstConectarComoCliente[] =
{
    {evento2,estado2,&(Comunicaciones:: ConectarComoCliente)}
};

static const Estado EstMenuPrincipal[] =
{
    {evento1,estado1,&(Graficos:: DibujarMenuPrincipal)}
};
Y si cambio de lugar los miembros de la union pasa lo mismo.
Alguna idea?
[Editado: Mr. VB 6, 09/12/2010 12:10:02]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
54439 Re: Problema con funciones, clases y uniones. (Resp: 54420)11/12/10 11:39Mr. VB 6   
Ya lo resolvi: pasa justamente lo que me pasa a mi. Logre encontrar una pagina y dice que si se declara una instancia de la union en tiempo de compilacion, la el compilador solo ve el primer miembro de la union.

Un saludo y gracias a todos.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2017  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 70 - App. iniciada: 18/11/2017 1:11:19 GMT - La hora GMT del servidor es: 18/11/2017 10:11:42 GMT