Précisions sur les Storage class specifiers de la norme
Bonjour,
Je ne comprends pas trop ce passage de la norme qui suit:
Citation:
A name declared in a namespace scope without a storage-class-specifier has external linkage unless it has
internal linkage because of a previous declaration and provided it is not declared const.
Je comprends que si dans scr1.cpp, on a:
et dans src2.cpp, on a:
Code:
1 2 3 4 5
|
extern int var;
int main(){
int u=var;
} |
Mais d'après ce que je comprends, on peut avoir:
Code:
1 2 3 4 5 6
| namespace NP{
int u;
}
int main(){
u=3;
} |
Ici, u est bien déclaré dans un namespace scope, et il n'a pas de class storage specified. Mais pourtant on a un pb de déclaration (cela me semble évident bien sur). Peut-etre que cela signifie que l'on peut y faire référence dans une autre unité de traduction en précisant bien sur NP:: ?
Merci