IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

(c++) Multiply define error (help)


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 3
    Par d�faut (c++) Multiply define error (help)
    salut,

    j'ai un probl�me de linkage avec la declaration d'une variable globale dans un fichier .h, il me donne ce message d'erreur

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ld (prelink):
    gare.o compressed: Gare: multiply defined
    gare.o compressed: Depot: multiply defined
    gare.o compressed: VecVoie: multiply defined
    gare.o compressed: temp: multiply defined
    gare.o compressed: quai: multiply defined
    ld:
    gare.o compressed: Gare: multiply defined
    gare.o compressed: Depot: multiply defined
    gare.o compressed: VecVoie: multiply defined
    gare.o compressed: temp: multiply defined
    gare.o compressed: quai: multiply defined
    *** Exit 1
    Stop.
    et voivi mon fichier .h :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    #ifndef GARE_H
    #define GARE_H
     
     
     
    /*vecteur de train*/
    Vecteur<VehiculeSurRails>Gare(4);
     
    /*Vecteur de pile de train*/
    Vecteur<stack<VehiculeSurRails> >Depot(4);
     
    /*Vecteur de file de train*/
    Vecteur<list<VehiculeSurRails> > VecVoie(4);
     
    /*pile temporaire*/
    stack<VehiculeSurRails>temp;
     
    int quai[4]={0};
     
    class gare
    {
     
    public : 	
    	void Enreg(void);
    	void Lecture(void);
    };
     
     
    #endif
    et ce fichier h, n'est appel� q'une seule fois dans main.cxx.
    cordialement.

  2. #2
    Membre �m�rite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    D�tails du profil
    Informations personnelles :
    �ge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par d�faut
    Bonjour,
    es-tu s�r de �a
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    Vecteur<VehiculeSurRails>Gare(4);
    Il nous manque ta classe Vecteur.

    Ensuite, ici, il y a clairement une erreur de compilation:
    C'est plut�t
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    int quai[4]={0,0,0,0};

  3. #3
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Une variable globale ne se d�clare pas comme �a

    http://c.developpez.com/faq/c/?page=...TYPES_globales

    Sinon concernant l'initialisation du tableau avec {0}, c'est tout � fait l�gal.

  4. #4
    Expert confirm�
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par d�faut
    et ce fichier h, n'est appel� q'une seule fois dans main.cxx
    Il n'est pas invoqu� dans gare.cxx (qui doit exister puisque tu as un gare.o) ?
    Si c'est le cas, il y a effectivement des d�clarations multiples de variables.
    Un .h n'est pas un endroit o� placer des d�clarations de variables puisqu'il a vocation � �tre inclus dans plusieurs fichiers. A la limite, d�clarer les variables en extern dans le . h et les d�clarer effectivement dans le .cpp

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 3
    Par d�faut
    voila j'ai suivi vos conseille j ai d�clar� en externe dans gare.h et je les ais declar� aussi dans gare.cpp , et dans le main.cpp je mes gare.h
    et maintenant l'eereur multiple difine a disparu mais un nouveau a apparut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    ld:
    Unresolved:
    gare::Lecture(void)
    gare::Enreg(void)
    *** Exit 1
    Stop.
    c bizar je n'arrive plus a acc�der au methide de ma classe gare
    pourtant dans le main je declare bien un objet dut ype de la classe gare
    voila un pti morceau du code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int main(void)
    {
    	int choix,choixV=0;
    	clr();
    	cout<<"\nCHARGEMENT...";
     
    	gare LectEcrt;
    	LectEcrt.Lecture();
    	....

  6. #6
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Tu as bien impl�ment� les fonctions gare::Lecture et gare::Enreg ? Tu sp�cifies bien gare.obj lors de l'�dition de lien ?

  7. #7
    Membre �m�rite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    D�tails du profil
    Informations personnelles :
    �ge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par d�faut
    Tu as d�clar� tes m�thodes comment dans la classe ?

    Car si une m�thode est private elle n'est pas accessible dans le main.

  8. #8
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Citation Envoy� par Caine
    Tu as d�clar� tes m�thodes comment dans la classe ?

    Car si une m�thode est private elle n'est pas accessible dans le main.
    Ce sont des erreurs d'�dition de lien, pas de compilation.

  9. #9
    Membre �m�rite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    D�tails du profil
    Informations personnelles :
    �ge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par d�faut
    Oui, certes, mais il n'est pas non plus tr�s pr�cis sur son probl�me actuel

    Toujours est-il que le code complet serait un plus.

  10. #10
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 3
    Par d�faut
    je vous remercies baucoup, je contourne le probl�me pour le moment en faisant appel a gare.cxx dans le main (c pas trop bien mais bon, en attendant jv� continuer a avanc� dans le programme).

  11. #11
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Tu ferais bien mieux de r�soudre ton probl�me avant de passer � la suite !

Discussions similaires

  1. [XL-2010] Erreur 1004 : Application-defined or object-defined error
    Par iriben dans le forum Macros et VBA Excel
    R�ponses: 20
    Dernier message: 16/07/2014, 12h21
  2. R�ponses: 0
    Dernier message: 16/06/2014, 15h55
  3. Application-defined or object-defined error
    Par Vivi127 dans le forum Macros et VBA Excel
    R�ponses: 1
    Dernier message: 15/09/2011, 12h42
  4. [XL-2007] Validation Date Application-defined Error
    Par Bonero dans le forum Excel
    R�ponses: 4
    Dernier message: 25/03/2010, 12h29
  5. R�ponses: 1
    Dernier message: 20/02/2010, 08h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo