Cuál es la diferencia?

webJose
22 de Noviembre del 2002
En qué difieren estas dos declaraciones y cuál es mejor o cuáles son los casos en los que se usa una u otra?

1.

typedef struct tagSUBCLASS_OBJECT
{
HWND hWnd;
pfWndProc lpfpOldWndProc;
ITrayIcon* oTray;
}SUBCLASS_OBJECT;

2.

struct SUBCLASS_OBJECT
{
HWND hWnd;
pfWndProc lpfpOldWndProc;
ITrayIcon* oTray;
};

isolo
22 de Noviembre del 2002
No se si te llega demasiado tarde la respuesta, pero mas vale tarde ke nunca ;).

Pues las dos declaraciones tienen exactamente el mismo efecto. La unica diferencia es que con la segunda definición cada vez que declares una variable de ese tipo (SUBCLASS_OBJECT) tendras que poner OBLIGATORIAMENTE delante la palabra struct. Por ejemplo:
struct SUBCLASS_OBJECT mivariable;

ciao :)

webJose
22 de Noviembre del 2002
Gracias por su respuesta. Ahora otra pregunta:

typedef struct
{
HWND hWnd;
pfWndProc lpfpOldWndProc;
ITrayIcon* oTray;
}SUBCLASS_OBJECT;

Cuál es la diferencia entre esta declaración y las anteriores? Creo que es equivalente a la primera, pero no estoy seguro. Por eso pregunto. :)

adrian18jbj
22 de Noviembre del 2002
si equivale a lo mismo, solo cambiaste de lugar SUBCLASS_OBJECT