Erreur undefined reference to 'ma_fonction(std::string*, int)'
Résolu
matmat42
Messages postés
124
Date d'inscription
Statut
Membre
Dernière intervention
-
matmat42 Messages postés 124 Date d'inscription Statut Membre Dernière intervention -
matmat42 Messages postés 124 Date d'inscription Statut Membre Dernière intervention -
Salut,
Je suis en train de faire un petit code en C++ et j'ai rencontrer un petit problème :
Quand je compile le code suivant, j'ai l'erreur suivante :
"undefined reference to 'ma_fonction(std::string*, int)' "
ma_fonction.h :
ma_fonction.cpp :
et mon main.cpp :
Je n'ai pas mis le code en entier mais la variable 'texte' est de type string et 'taille' de type int.
Quelqu'un saurait-il résoudre mon problème ? Merci d'avance. :)
Celui qui pose une question est bête cinq minute, celui qui n'en pose pas l'est toute sa vie.
Je suis en train de faire un petit code en C++ et j'ai rencontrer un petit problème :
Quand je compile le code suivant, j'ai l'erreur suivante :
"undefined reference to 'ma_fonction(std::string*, int)' "
ma_fonction.h :
void ma_fonction(std::string recu[], int tailleRecu = 0);
ma_fonction.cpp :
#include "ma_fonction.h" #include <windows.h> #include <string> #include <iostream> using namespace std; void ma_fonction(string recu[], int tailleRecu()) { }
et mon main.cpp :
#include <iostream> #include <windows.h> #include <string> #include "ma_fonction.h" using namespace std; int main() { //reste du code ma_fonction(texte, taille); //reste du code }
Je n'ai pas mis le code en entier mais la variable 'texte' est de type string et 'taille' de type int.
Quelqu'un saurait-il résoudre mon problème ? Merci d'avance. :)
Celui qui pose une question est bête cinq minute, celui qui n'en pose pas l'est toute sa vie.
A voir également:
- Erreur undefined reference to 'ma_fonction(std::string*, int)'
- Qwerty to azerty - Guide
- Video to video - Télécharger - Conversion & Codecs
- Majuscule to minuscule - Guide
- Erreur t32 ✓ - Forum Livebox
- Mb to mo ✓ - Forum Matériel & Système
1 réponse
Bonjour
dans ma_fonction.h :
dans ma_fonction.cpp :
Ton prototype dit que le deuxième paramètre est un entier, alors que dans la définition le second paramètre est une fonction (qui rend un entier)
dans ma_fonction.h :
void ma_fonction(std::string recu[], int tailleRecu = 0);
dans ma_fonction.cpp :
void ma_fonction(string recu[], int tailleRecu())
Ton prototype dit que le deuxième paramètre est un entier, alors que dans la définition le second paramètre est une fonction (qui rend un entier)
Si c'est ça, ça ne marche toujours pas et ça me mets d'autre erreur.
Mais c'est à toi de savoir de quel paramètre tu as réellement besoin, je ne peux pas le deviner sans savoir à quoi sert ta fonction ni comment elle est écrite.
Pas plus que je ne peux te parler de ta nouvelle erreur : je n'ai pas une assez bonne vue pour lire ce qui s'affiche sur ton écran, et tu ne recopies pas le message d'erreur ici.
ma_fonction.cpp: default argument given for parameter 2 of 'void ma_fonction(std::string*, int)' [-fpermissive]
et la deuxième :
ma_fonction.h: after previous specification in 'void ma_fonction(std::string*, int)' [-fpermissive]
https://www.commentcamarche.net/contents/188-langage-c-les-fonctions
au paragraphe 'Valeur par défaut des arguments'
Je ne vois pas à quoi correspond le second message d'erreur, c'est peut-être une conséquence du premier
Merci beaucoup. :)