R�f�rence ind�finie - Linux
Bonjour,
Je pr�cise que mon syst�me d'exploitation est Linux Ubuntu 16.04 LTS. Mon nom d'utilisateur est mathisfrompc.
Je suis tout nouveau sur le site "Developpez.com" . Veuillez m'excuser si ce forum et son titre ne respectent pas les r�gles de mise en page.
J'ai 14 ans et je d�bute dans le langage C++. Je vous prie d'�tre indulgents envers moi si j'ai commis une faute stupide. :oops:
J'ai fait un petit programme qui calcule la moyenne de 5 nombres.Voici ce que jais �cris dans le fichier " main.cpp "
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
#include <iostream>
#include <vector>
#include "moyenne.h"
using namespace std;
int main ()
{
double moy;
moy = moyenne();
cout << "la moyenne est de " << moy << endl;
return 0;
} |
En suite,comme vous l'avez vu dans le code j'ai fait une fonction dans un autre fichier qui est celle qui calcule vraiment la moyenne.voici son contenu (du fichier moyenne.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
|
#include <iostream>
using namespace std;
double moyenne()
{
int const tailleTableau = 5;
double tableautest [tailleTableau];
cout << "Ceci est une machine a calculer une moyenne!" << endl << "Entrez 5 nombres" << endl;
cin >>tableautest[0];
cout << endl;
cin >>tableautest[1];
cout << endl;
cin >>tableautest[2];
cout << endl;
cin >>tableautest[3];
cout << endl;
cin >>tableautest[4];
cout << endl;
double moyenne = 0;
for (int i=0; i<tailleTableau;i++)
{
moyenne += tableautest[i];
}
moyenne /= tailleTableau;
return moyenne;
} |
Et voici ce qu'il y a dans le fichier " moyenne.h " :
Code:
1 2 3 4 5 6 7 8
|
#ifndef MOYENNE_H_INCLUDED
#define MOYENNE_H_INCLUDED
//calcule la moyenne de 5 nombres
double moyenne();
#endif // MOYENNE_H_INCLUDED |
Tous ces fichiers ( main.cpp , moyenne.cpp et moyenne.h ) sont dans le m�me dossier nomm� "moyenne-prog" (il y a aussi " main.o " ) situ� dans mon dossier personnel.
Comme j'ai une probl�me (assez complexe et qui n'est pas le sujet de ce forum) entre mon EDI et mon compilateur, je compile mon programme par des commandes du terminal. Je n'y connais rien au bash, c'est un ami qui m'a juste donn� les commandes. Voici les commandes:
Code:
1 2 3 4 5 6
|
mathisfrompc@mathisfrompc-GA-MA69GM-S2H:~$ cd moyenne-prog
mathisfrompc@mathisfrompc-GA-MA69GM-S2H:~/moyenne-prog$ g++ -c main.cpp
mathisfrompc@mathisfrompc-GA-MA69GM-S2H:~/moyenne-prog$ g++ main.o -o moyenne |
A partir de la, le terminal affiche:
Code:
1 2 3 4
|
main.o : Dans la fonction « main » :
main.cpp: (.text+0x9) : référence indéfinie vers « moyenne() »
collect2: error: ld returned 1 exit status |
Je ne comprends absolument pas ce que cela veut dire. Est-ce une erreur dans mon programme ou autres? :(
Merci d'avance pour votre aide.