Bonjour à tous,
Je suis en train de récupérer le travail de quelqu'un et j'essaie de faire un make all.
Jusque là j'ai eu à changer quelques chemins dans le Makefile ou installer des librairies. Mais là je tombe sur une erreur de C++ que je ne sais pas comment résoudre.
Dans un fichier Grille.cpp, j'ai le constructeur suivant (en rose, les n° de lignes dans mon code) :
J'ai l'erreur suivante à la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ... 9 #include "Matrice.hpp" ... 14 Grille::Grille(const int lignes, const int champs) { 15 _grille = new Matrice<string>::Matrice(lignes, champs); 16 initialiser(); 17 }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ../apsad/src/Grille.cpp: In constructor Grille::Grille(int, int): ../apsad/src/Grille.cpp:15:19: error: expected type-specifier ../apsad/src/Grille.cpp:15:19: error: cannot convert int* to Matrice<std::basic_string<char> >* in assignment ../apsad/src/Grille.cpp:15:19: error: expected ;
La définition de _grille figure dans le fichier Grille.hpp :
Et le constructeur Matrice<T> se trouve dans le fichier Matrice.hpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 class Grille { private: Matrice<string>* _grille;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 template<typename T> Matrice<T>::Matrice(const int nbL, const int nbC) { _nbColonnes = nbC; _nbLignes = nbL; allouerMatrice(_nbLignes, _nbColonnes); }
Je ne comprend pas l'erreur. En particulier d'où vient le int* dont il est question dans l'erreur.
Auriez-vous une petite idée pour me sauver ? Merci d'avance !
EDIT : Si vous avez besoin de renseignement supplémentaires ou de bout du code, n'hésitez pas à demander
Partager