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 <iostream>
#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.