[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

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
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
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
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
marvinrouge
 
de rien,

marvinrouge.
0
titou
 
non le prob persiste ...
voila une url avec le source complet
http://membres.lycos.fr/marhans/C++%201.0.rar
0