Before anyone asks, yes, this is part of a homework, and yes, I did a lot of Googling before asking. I spent the last hour searching intensively on Google with many, many di
An elaborated type specifier is a type name preceded by either the class, struct, enum, or union keyword.
class identifier
struct identifier
enum identifier
union identifier
An elaborated type specifier is used either for emphasis, or to reveal a type name that is hidden by the declaration of a variable with the same name in the same scope.
source