I know I can just avoid the word "struct" and indicate only the struct type ("someStruct"). Is there any difference? Does adding "struct" serve any purpose?
> What's the difference if a struct parameter is indicated with the keyword "struct"?
void add_cat ( struct someStruct ) ;
An elaborated-type-specifier may be used to refer to a previously declared class-name or enum-name even though the name has been hidden by a non-type declaration - IS
1 2 3 4 5 6 7 8
struct number { /* .... */ }; // in some header
int number = 22 ; // the class-name 'number' is hidden by the non-type declaration 'number'
// might have been brought in by the inclusion of another header
// void foo( number ) ; // *** error: number is not the name of a type
// void foo( ::number ) ; // *** error: number is not the name of a type
void foo( class number ) ; // fine: elaborated-type-specifier