je classe A tel que:Utilisation des variables statiques d'une classe C++ dans plusieurs fichiers
class A {
static int i;
A();
f1();
f2();
static void intitiaize();
// snipped rest
}
void initialize() {
A::i = 0;
}
dans un fichier d'en-tête.
J'ai une fonction intiialize pour la classe qui initialise les variables statiques dans la méthode principale dans le second fichier. Après cela, je crée un objet de A
pour appeler a.f1()
.
Lorsque j'essaie de créer un autre objet de A
dans le fichier trois le compilateur se plaint en disant "aucune référence à la classe A". Donc inclus l'en-tête dans ce troisième fichier.
Je reçois une erreur à propos de plusieurs définitions de A
.
Comment dois-je procéder? J'ai inclus des gardes autour du fichier de classe.
J'ai ajouté INITIE int A :: i = 0 à la fin de ..just classe manqué ici –