Erreur sous DEVC++ : [Linker error]..
J'ai conçu une classe animal. Je l'appelle dans la classe animaux pour créer un vecteur d' "animal". Enfin, j'ai mon programme principale main.cpp qui contient l'erreur suivante : Salut : voici mon erreur
[Linker error] undefined reference to `animaux::ajouterAnimal(int, std::string)'
:roll:
animal.h------------------------------------------------------------
Code:
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 32 33 34 35
| #include <string>
#include <iostream>
using namespace std;
class animal
{
private :
//Attributs
int numAnimal;
string nomAnimal;
public :
//Constructeur
animal(int num, string nom);
//Methode afficher infos animal
void afficher();
//Accesseur Numero animal
int getNumAnimal();
//Accesseur Nom animal
string getNomAnimal();
//Methode modification du Numero Animal
void setNumAnimal(int num);
//Methode modification du Nom Animal
void setNomAnimal(string nom);
}; |
animal.c++ ---------------------------------------------------------
Code:
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 32 33 34 35 36 37 38 39
| #include "animal.h"
using namespace std;
//Constructeur
animal::animal(int num, string nom)
{
numAnimal = num;
nomAnimal = nom;
}
//Methode afficher infos animal
void animal::afficher()
{
cout << "Numero Animal : " << numAnimal << " | Nom Animal : " << nomAnimal <<endl;
}
//Accesseur Numero animal
int animal::getNumAnimal()
{
return numAnimal;
}
//Accesseur Nom animal
string animal::getNomAnimal()
{
return nomAnimal;
}
//Methode modification du Numero Animal
void animal::setNumAnimal(int num)
{
numAnimal=num;
}
//Methode modification du Nom Animal
void animal::setNomAnimal(string nom)
{
nomAnimal=nom;
} |
animaux.h --------------------------------------------------------
Code:
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
| #include "animal.h"
#include "string.h"
#include <iostream>
#include "vector"
#include <iomanip>
using namespace std;
class animaux
{
private :
vector<animal> an;
public :
//Constructeur
animaux();
//void go(animal e);
//Methode afficher infos animal
void ajouterAnimal(int number,string name);
}; |
animaux.cpp--------------------------------------------------------
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include "animaux.h"
//Constructeur
animaux::animaux()
{
vector<animal> an;
}
/*void animaux::go(animal e)
{
}*/
//Methode afficher infos animal
void animaux::ajouterAnimal(int number,string name)
{
animal a1 (number,name);
//go(a1);
an.push_back( a1 );
} |
main.cpp------------------------------------------------------------
Code:
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| #include "animaux.h"
using namespace std;
int main()
{
int reponse;
//Creation vecteur d'animaux
animaux *an;
while (reponse != 0)
{
cout << "------------------------------------------------------------------\n";
cout << "---------------------------- GESTION DU ZOO ----------------------\n";
cout << "- -\n";
cout << "- Menu Principal : Choisissez l'Action a effectuer : -\n";
cout << "- -\n";
cout << "- -\n";
cout << "- Ajout : -\n";
cout << "- -\n";
cout << "---1 : Ajouter un animal -\n";
cout << "---2 : Ajouter un enclos -\n";
cout << "---3 : Ajouter une personne -\n";
cout << "- -\n";
cout << "- -\n";
cout << "- Affectation : -\n";
cout << "- -\n";
cout << "---4 : Affecter un nouvel enclos a un animal -\n";
cout << "- -\n";
cout << "- -\n";
cout << "- Modification : -\n";
cout << "- -\n";
cout << "---5 : Modifier les charges d'un soigneur -\n";
cout << "---6 : Modifier les charges d'un agent d'entretien -\n";
cout << "- -\n";
cout << "- -\n";
cout << "- Edition : -\n";
cout << "- -\n";
cout << "---7 : Liste des animaux avec enclos, soigneur, cout journalier -\n";
cout << "---8 : Liste du personnel du zoo avec charges -\n";
cout << "---9 : Cout journalier zoo : cout nourriture et personnel -\n";
cout << "- -\n";
cout << "---0 : Quitter -\n";
cout << "------------------------------------------------------------------\n";
cout << "-----------------------------Application : B.BOUSQUET - M.GUEYE---\n";
cout << "------------------------------------------------------------------\n";
cout << "- -\n";
cout << "- -\n";
cout << "-Quelle action souhaitez vous effectuer ? (numero action) -\n";
cout << "- -\n";
cout <<"==>"; cin >>reponse;
switch(reponse)
{
case 1: cout<<"ajout anim"<<endl;
an->ajouterAnimal(16,"Pierre");
break;
case 2: cout<<"ajout enclos"<<endl;break;
case 3: cout<<"ajout personne"<<endl;break;
case 4: cout<<"affecter enclos"<<endl;break;
case 5: cout<<"modif charge soigneur"<<endl;break;
case 6: cout<<"modif charge agent"<<endl;break;
case 7: cout<<"req1';'"<<endl;break;
case 8: cout<<"req2"<<endl;break;
case 9: cout<<"req3"<<endl;break;
//case 0: cout<<"Au revoir";break; exit;
}
}
} |
Si vous avez une idée ? je vous remercie d'avance
bonne journée