So of the two statements...
Code:
struct HINSTANCE__ { int unused; };
typedef struct HINSTANCE__ *HINSTANCE;
...the first declares the dummy type "HINSTANCE__" and the second declares "HINSTANCE" (without underscores) as a pointer to a variable of that type?
In VC6 this is also okay to the preproc:
Code:
struct HINSTANCE__ { int unused; };
typedef HINSTANCE__* HINSTANCE;
I hope I figured it out right. The first looks much trickier, because there is the word "struct" after typedef (we've already made the struct), and no space between the original type (HINSTANCE__*) and it's alias HINSTANCE. Likewise it's also clearer with int* ip than int *ip in my opinion because it follows type variable format as in int i