je code similaire à celui-ci dans un fichier d'en-tête:C++ variable d'élément de modèle dans la classe sans canevas possède un type incomplet
template<class A>
class List {
private:
QVector<A> _list;
};
où QVector est le conteneur standard QT.
Lorsque je tente de faire une variable de type liste en tant que variable membre dans un autre fichier d'en-tête comme ceci:
class Model {
private:
List<int *> the_list;
};
Je reçois l'erreur suivante:
In instantiation of 'List<int *>':
instantiated from here
error: 'List<A>::_list' has incomplete type
Fondamentalement, je veux un liste personnalisée qui est modélisée et qui utilise un QVector interne pour stocker les éléments de données.
Je suppose que ma syntaxe est un peu éteinte, donc toute aide serait appréciée.
Vous incluez le premier en-tête de la seconde? Cela peut valoir la peine d'exécuter uniquement l'étape du préprocesseur, par ex. "gcc -E" pour vérifier que les choses sont telles qu'elles apparaissent. –