Why is this code invalid?
typedef int INT;
unsigned INT a=6;
whereas the following code is valid
typedef int INT;
static INT a=1;
?
As per my understanding unsigned int
is not a "simple type specifier"
and so the code is ill-formed. I am not sure though.
Can anyone point to the relevant section of the Standard
which makes the first code invalid(and the second code valid)?
EDIT
Although Johannes Schaub's answer seemed to be correct and to the point(he had deleted his answer BTW) I accepted James Curran's answer for its correctness and preciseness.