Ho provato il seguente codiceÈ typedef uno specificatore della classe di memoria?
#include <stdio.h>
int main(void)
{
typedef static int sint;
sint i = 10;
return 0;
}
e ha colpito il seguente errore:
error: multiple storage classes in declaration specifiers
Quando ho fatto riferimento alla specifica C99, sono venuto a sapere che è un typedef
storage class
.
6.7.1 Storage-class specifiers
Syntax
storage-class-specifier:
typedef
extern
static
auto
register
Constraints: At most, one storage-class specifier may be
given in the declaration specifiers in a declaration
Semantics: The typedef specifier is called a ‘‘storage-class specifier’’
for syntactic convenience only;
L'unica spiegazione che ho potuto trovare (sulla base di alcuni ricerca su internet e croce riferimento varie sezioni nella specifica C99) era syntactic convenience only to make the grammar simpler
.
Sto cercando qualche giustificazione/spiegazione su come può un nome del tipo di avere classe di memoria specificatore?
non ha senso avere un codice come typedef static int sint;
?
o Dove sto andando male ?!
vedi: http://stackoverflow.com/questions/2218435/why-typedef-can-not-be-used-with-static – Demi