Ops. Cierto, no puse atencion.
En todo caso, se me ocurre que usa algun compilador que aun no sigue bien el estandar, siendo que en C++ no es necesario poner la palabra struct en la declaracion de un tipo. Mas sin emabrgo, en versiones anteriores del estandar, me parece que si era necesario, como lo es en C(89).
Saludos