Problème de variables globales répétées

Résolu
cs_KreIS Messages postés 8 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 21 novembre 2004 - 13 oct. 2004 à 15:58
cs_KreIS Messages postés 8 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 21 novembre 2004 - 13 oct. 2004 à 16:46
Alors voilà, mon problème est tout simple :
imaginez qu'il y a un header qui contient une varible globale et plusieurs .cpp qui l'inclusent.
le problème c'est que quand on compile il y a une erreur du style "plusieurs déclarations de la même variable"
Alors jme dit pas dproblème, on va mettre tout ça en statique !
ça marchait nikel jusqu'au moment ou il a fallu que j'utilise une même variable dans plusieures fonctions appartenant à plusieurs .cpp différents
donc voilà ma question : "Comment faire pour utiliser une même variable dans plusieurs .cpp ?"
merci d'avance
__________
Heureux l'élève qui, comme la rivière, arrive à suivre son cours sans quitter son lit !

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 oct. 2004 à 16:39
int var; // dans un cpp

partout ailleurs si besoin:
extern int var;

ciao...
BruNews, MVP VC++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 oct. 2004 à 16:14
extern

ciao...
BruNews, MVP VC++
0
cs_KreIS Messages postés 8 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 21 novembre 2004
13 oct. 2004 à 16:23
merci beaucoup
0
cs_KreIS Messages postés 8 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 21 novembre 2004
13 oct. 2004 à 16:30
euh en fait si je met extern ça me fé pareil que si je mettait pas static : erreur de compilation
je met un bout de code pour que ça soit plus simple à comprendre :

FICHIER SHHDM.h
class SHHDM
{ ... };
extern SHHDM* DM = new SHHDM;

ce .h est inclu dans 11 .cpp
et ya un erreur à la compilation parce que il dit qui ya 11 variables DM

maintenant si je met :
extern static SHHDM* DM = new SHHDM;
ça me met : "more than one storage class specified"

quelqu'un pourrait 'expliquer l'emploi de extern svp ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_KreIS Messages postés 8 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 21 novembre 2004
13 oct. 2004 à 16:46
ça marche nikel merci beaucoup !!!
0
Rejoignez-nous