According to 
this answer, to a question of mine in SO, an 
unsigned int is not a 
simple-type-specifier. My argument is that it must be a simple-type-specifier, otherwise 
void f(unsigned int); would not be considered a 
declaration given the C++ grammar. For instance, if 
unsigned int is not a 
simple-type-specifier, it's not a
 type-specifier, not a 
defining-type-specifier,  not a 
decl-specifier, not a 
decl-specifier-seq, not a 
parameter-declaration, not a 
parameter-declaration-list, and so an 
(unsigned int)  would not be a 
parameters-and-qualifiers. Continuing this way we would conclude that 
void f(unsigned int); is would not be a declaration, which is clearly incorrect. What am I missing here?