begin process at 2012 05 29 18:14:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Pb de déclaration multiple de variables


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb de déclaration multiple de variables

lundi 30 janvier 2006 à 23:01:27 | Pb de déclaration multiple de variables

skirby

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.
lundi 30 janvier 2006 à 23:12:26 | Re : Pb de déclaration multiple de variables

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
ENCORE....

dans 1 seul cpp:
int n;

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

ciao...
[ Lien ]
BruNews, MVP VC++
mardi 31 janvier 2006 à 15:35:22 | Re : Pb de déclaration multiple de variables

skirby

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+
mardi 31 janvier 2006 à 16:08:20 | Re : Pb de déclaration multiple de variables

BruNews

Administrateur CodeS-SourceS
Oui c'est récurrent comme demande mais j'avoue que ce n'est peut-être pas évident à retrouver dans le forum.

ciao...
[ Lien ]
BruNews, MVP VC++


Cette discussion est classée dans : variables, test, include, void, main


Répondre à ce message

Sujets en rapport avec ce message

fonction inline dans une classe (sous Qt) [ par debutant VB ] Bonjour tout le monde, Pour des raisons d'optimisation de rapidité, j'aimerais rendre quelques petites fonctions d'une de mes classes en inline, mais Type considéré comme identificateur... :-/ [ par Virus721 ] Salut tout le monde ! Voila j'essaye de coder un petit "music player" en C++ avec Qt pour la GUI, et IrrKlang pour l'audio. J'ai lu et revérifié 50 f Premiere prog en Smfl [ par tiouil ] Bonjour, je viens vous demander votre aide car voila une semaine que je corrige des erreurs et encore des erreurs et certaines persistent donc voila. MySql GetString Acess Violation [ par Benmic ] Bonjour à tous! Je fais en ce moment un programme en C++ qui se connecte à ma base de donnés MySql 5.1 (Ça venait avec Xampp). La connexion se déroul Débutant : Inclusion de header dans main.cpp + problème de déclaration de classe [ par goddez ] Bonjour à tous :), Je rencontre un problème plutôt spéciale depuis 2 jours et je n'arrive pas à mettre le doigt sur ce qui n'est pas correct. Je décla exemple de test de connection au Mysql ne marche pas dans un programme C [ par boualiasma ] Salut,j'ai installé la librairie mysql.- Je voudrais établir dans mon programme C une connexion à une base de données crée sous Mysql(j'ai instalé Eas problème de connexion à une base de données dans C [ par boualiasma ] Salut,1)- Je voudrais connecter à une base des données crée sous Mysql  de version 5.1.30le dossier d'installation est : C:\Program Files\EasyPHP 3.0\ pgcd [ par cherif2009 ] excusez moi voici le code #include #include #include void pgcd(); main() { pgcd(); } void pgcd() { int a,b,pg; printf("enter le premier entier"); scan Forcer la vérification des "include" [ par simonpelloquin ] Bonjour, Une petite question sur le compilateur g++. J'ai une classe (dans un couple .cc et .h) qui utilise un tableau de taille 100 défini dans le 'CsvHandler.h'*: No such file or directory [ par moooonaaaa ] Bonjour, J'ai construit un Dll nommée CsvHandler. voila le code CsvHandler.h [quote]#include #include #include #include "Point.h" namespace CsvHand


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,973 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales