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 : 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   }
J'ai l'erreur suivante à la compilation :
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
class Grille {
private:
    Matrice<string>* _grille;
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
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