The sequence shall be self-consistent as
described below
. [
Example 1:
typedef char* Pc;
static Pc;
Here, the declaration
static Pc is ill-formed because no
name was specified for the static variable of type Pc. To get a
variable called
Pc, a
type-specifier (other than
const or volatile) has to be present to indicate that
the typedef-name Pc is the name being (re)declared,
rather than being part of the decl-specifier sequence. For
another example,
void f(const Pc);
void g(const int Pc);
—
end example]
[
Note 1:
Since
signed,
unsigned,
long, and
short
by default imply
int, a
type-name appearing after one
of those specifiers is treated as the name being (re)declared
. [
Example 2:
void h(unsigned Pc);
void k(unsigned int Pc);
—
end example]
—
end note]