Possible en double:
const and globalcomportement étrange extern
Ce code produira erreur dans C++
// Foo.cpp
const int Foo = 99;
// Main.cpp
extern const int Foo;
int main()
{
cout << Foo << endl;
return 0;
}
Raison donnée par beaucoup est const mondiale a une portée interne et c'est par défaut statique.
solutionà cette question est: -
//Foo.h
extern const int Foo;
// Foo.cpp
#include "Foo.h"
const int Foo = 99;
// Main.cpp
#include "Foo.h"
int main()
{
cout << Foo << endl;
}
Je pensais que extern est utilisé pour indiquer que la mémoire compilateur pour le indentifer est déjà alloué quelque part dans d'autres fichiers.
En appliquant la même logique sur le code ci-dessus, peut-on expliquer ce qui se passe ici ou extern a une signification différente en C++?
enter link description here
Voir également cette page il gâte mes tous .. intuitions
Ne demandez pas la même question il y a environ 2 heures? Avez-vous lu les réponses là-bas? Si vous avez encore des doutes sur le Q que vous avez précédemment demandé, vous devez ajouter vos doutes en tant que commentaires aux réponses, ne pas commencer une nouvelle question pour cela. –
@als je pense pour effacer les doutes des autres est la meilleure chose à faire à SO. –
Eh bien, pas en posant la même question encore et encore, Si vous ne comprenez pas une réponse, demander des doutes dans la section des commentaires sous la réponse, ne pas commencer une autre question.S'il vous plaît lire la FAQ SO. –