[Compilation] cannot convert ‘int*’ to ‘Matrice<std::basic_string<char> >*’ in assignment
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) :
Code:
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 } |
J'ai l'erreur suivante à la compilation :
Code:
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 :
Code:
1 2 3
| class Grille {
private:
Matrice<string>* _grille; |
Et le constructeur Matrice<T> se trouve dans le fichier Matrice.hpp :
Code:
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