[Lieur Erreur] Unresolved external 'Vehicule:

titou -  
 titou -
bonjours a tous,

je viens a vous pour un pti probleme, quand je j'execute mon code c++ bulder j'ai ce message

[code][Lieur Erreur] Unresolved external 'Vehicule::init()' referenced from C:\DOCUMENTS AND SETTINGS\TITOU\BUREAU\C++\UML\GÉNÉRÉ\_MAIN.OBJ[/code]

je suis bloqué, je ne comprend le probleme merci de me venir en aide

voici le code

main.cpp

[code]
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include "Vehicule.h"

main ()
{
Vehicule v1;

v1.init();

getch ();
}[/code]

vehicule.h
[code]
/ --------------------------------------------------------------------
// Vehicule.h : header file of class Vehicule
// --------------------------------------------------------------------

#ifndef __VEHICULE_H_
#define __VEHICULE_H_

//class Atelier;
//class Entretien;

class Vehicule
{

public:
int getNbKmActuel();
int getUnEntretien();
short getNbEntretiens();
void ajouteEntretien();
void _Vehicule();
void init();

//Atelier* LesVehicule;

//Entretien** LesEntretients;

protected:

private:

char numImma ;
int nbKmActuel ;
int mesEntretiens ;

};

#endif // #define __VEHICULE_H_

[/code]
et vehicule.cpp

[code]
// --------------------------------------------------------------------
// Vehicule.cpp : source file of class Vehicule
// --------------------------------------------------------------------

#include "Vehicule.h"
#include "Vehicule.h"

//#include "Atelier.h"
//#include "Entretien.h"

int Vehicule::getNbKmActuel()
{

}

Entretien Vehicule::getUnEntretien()
{

}

short Vehicule::getNbEntretiens()
{

}

void Vehicule::ajouteEntretien()
{

}

void Vehicule::_Vehicule()
{

}

void Vehicule::init(/*int _nbKmActuel, int _mesEntretiens, char _numImma*/)
{
/*
nbKmActuel = _nbKmActuel;
mesEntretiens = _mesEntretiens;
numImma = _numImma;
*/
cout << "dis merci a yohann" << endl;

}
[/code]

Merci de me venir en aide,c'est ladeprime la :cry:

3 réponses

  1. marvinrouge
     
    à mon avis il y a plusieurs choses:

    >>Entretien Vehicule::getUnEntretien()
    >dans Vehicule.cpp, Entretien n'est pas reconnu donc ça doit pas compiler (vire cette fonction dans le h et cpp et recompile pour voir si tu as tj ton erreur de compilation)

    >>#include "Vehicule.h"
    >>#include "Vehicule.h"
    >ligne en double mais c'est pas un pb car tu as bien pensé au #ifndef __VEHICULE_H_

    >>void Vehicule::_Vehicule()
    >ça devrait plutôt être un constructeur Vehicule::Vehicule() non ?

    >>int Vehicule::getNbKmActuel()
    >>{
    >>}
    >plusieurs de tes fonctions ne retourne RIEN mets au moins return 0 comme ci-dessous
    >int Vehicule::getNbKmActuel()
    >{
    > return 0;
    >}

    marvinrouge
    0
  2. titou
     
    void Vehicule::init(/*int _nbKmActuel, int _mesEntretiens, char _numImma*/)
    c'est le constructeur mais c'est un constructeur particulier que j'utilise.
    je vais tester t'a solution et je revient
    0
    1. marvinrouge
       
      non en C++ on appelle "constructeur" une méthode particulière de MEME NOM que la classe et qui ne retourne rien.

      void init(); est une méthode d'initialisation (qui éventuellement peut être appelée directement par un des constrcuteur)

      Forme générale DES constructeurs:
      Vehicule::Vehicule([paramètres]) {
      // init([paramètres]);
      }

      Exemple
      Vehicule::Vehicule(int _nbKmActuel, int _mesEntretiens, char _numImma) {
      init(_nbKmActuel, _mesEntretiens, _numImma);
      }

      Vehicule vehicule1(0, 0, 'A');
      0
  3. titou
     
    j'ai tout rassembler sur une page et mis a jours les informations que tu m'a fournis et sa fonctionne .

    Merci mille fois.

    Ce sont des erreurs qui ce sont glisser suite a la generation de code de windesign, je pensais que sa fonctionnait.
    Merci de tes conseils.
    0
    1. marvinrouge
       
      de rien,

      marvinrouge.
      0