keywords:
*bool
*void
*char
*long
*int
*enum
*if
*do
*else
*true
*for
*goto
*case
*this
*try
*union
*asm
// Example is from POSIX
union sigval {
int sival_int;
void *sival_ptr;
};
union foo; // elaborated type specifier -> forward declaration
class bar {
public:
bar(foo& f);
};
void baz();
union baz; // another elaborated type specifer; another forward declaration
// note: the class has the same name as the function void baz()
union foo {
long l;
union baz* b; // elaborated type specifier refers to the class,
// not the function of the same name
};