Pb de déclaration multiple de variables [Résolu]

Signaler
Messages postés
96
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
26 juillet 2007
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour,

J'ai un problème que je n'arrive pas à résoudre. Je dirais même que cela fait une éternité que je n'arrive pas à me servir correctement des includes.
je compte sur votre aide pour comprendre; je l'espère une bonne fois pour toute; comment m'en servir correctement.

Voici un exemple de code :
Main.h
#ifndef mainH
#define mainH

// Déclaration des variables globales
int i;

#endif

Main.cpp

#include "main.h"

#include "test.h"

using namespace std;

int main(int argc, char *argv[])

{

i = 10;

test();

system("PAUSE");

return EXIT_SUCCESS;

}

Test.h
#include <cstdlib>
#include
#include <stdio.h>

#include "main.h"

void test(void);

Test.cpp
#include "test.h"

void test(void) {
printf("Appel de la fonction test => i = %d\n", i);
}

A la compilation, j'ai le message suivant :
multiple definition of `i'

Compte tenu du code cela parait évident puisque j'inclu deux fois le fichier main.h
Donc ma question est la suivante :
Comment procède t'on quand on fait un programme modulaire (avec un fichier .cpp et .h par module) et que les modules doivent accéder à des variables et / ou fonctions contenus dans d'autres modules ?

Ai-je été clair ?

Merci d'avance pour vos réponse.

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
ENCORE....

dans 1 seul cpp:
int n;

dans autres cpp qui s'en serviront ou dans 1 seul h:
extern int n;

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
96
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
26 juillet 2007

Salut BruNews,

Le "encore" en majuscule signifie que cette question est souvent posée ?
Si c'est le cas, désolé. Pourtant j'avais fais une recherche sur le forum avant de poster.

En tout cas merci du tuyau. Je crois que j'ai réussi à faire ce que je voulais avec tes conseils.

A+
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Oui c'est récurrent comme demande mais j'avoue que ce n'est peut-être pas évident à retrouver dans le forum.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++