Bonjour,
Je ne comprends pas trop ce passage de la norme qui suit:

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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