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)'


animal.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
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 : 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
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 : 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
#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 : 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
#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 : 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
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