[C++] erreure definitions multiples
Résolu/Fermé
Wazza6
Messages postés
180
Date d'inscription
lundi 31 décembre 2007
Statut
Membre
Dernière intervention
21 juillet 2012
-
Modifié par Wazza6 le 25/08/2010 à 03:01
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 25 août 2010 à 08:18
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 25 août 2010 à 08:18
A voir également:
- [C++] erreure definitions multiples
- Erreure 0x80070643 - Accueil - Windows
- Utilisateurs multiples samsung - Guide
- Prestashop déclinaisons multiples ✓ - Forum Webmastering
- Ms project prédécesseurs multiples - Forum Gestion de projet
- Les définitions de la protection sont obsolètes - Forum Windows 10
2 réponses
Wazza6
Messages postés
180
Date d'inscription
lundi 31 décembre 2007
Statut
Membre
Dernière intervention
21 juillet 2012
40
25 août 2010 à 03:26
25 août 2010 à 03:26
OK, j'ai mis les declarations des variables globales dans main.h, mais maintenant les fonctions de main.cpp n'y ont pas accès, j'ai verifié et main.h est inclu dans main.cpp. Et j'ai ajouté extern devant, ca donne
Qe'est-ce que je peux faire?
extern vector<string> truths; ...
Qe'est-ce que je peux faire?
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
25 août 2010 à 08:18
25 août 2010 à 08:18
Salut.
Plus que l'utilisation des variables globales, ce que je critiquerais ici, c'est l'inclusion de .cpp.
Je pense que tu as trouvé la bonne manière d'utiliser des variables globales : les mettre dans un vrai .h avec extern devant et les déclarer sans extern dans un .cpp.
Le problème que tu as ici, c'est que la plupart du temps, les compilateurs compile tout les .cpp, donc ici main.cpp et game.cpp, seulement ces deux unités de compilation contienent la fonction main() (puisque tu l'inclus dans game.cpp), d'où erreur lors de l'édition des liens.
Plus que l'utilisation des variables globales, ce que je critiquerais ici, c'est l'inclusion de .cpp.
Je pense que tu as trouvé la bonne manière d'utiliser des variables globales : les mettre dans un vrai .h avec extern devant et les déclarer sans extern dans un .cpp.
Le problème que tu as ici, c'est que la plupart du temps, les compilateurs compile tout les .cpp, donc ici main.cpp et game.cpp, seulement ces deux unités de compilation contienent la fonction main() (puisque tu l'inclus dans game.cpp), d'où erreur lors de l'édition des liens.
25 août 2010 à 03:55