C ++ - Compiler erreur sur un devoir d'arbre: erreur: constructeur prévu, destructor ou conversion de type avant jeton « * »
-
25-09-2019 - |
Question
Je suis en train d'essayer de faire un devoir, et je suis en train de faire mes choses à compiler dans un premier temps (en-têtes de classe dans le fichier .h et les définitions vides dans le fichier .INL (j'utilise la modèle de nomtype)).
Je reçois cette erreur:
error: expected constructor, destructor, or type conversion before ‘*’ token
Voici mon fichier .h: http://ideone.com/dm3Bp
Voici mon fichier .INL: http://ideone.com/5FBep
Je suis en train de faire un nœud (appelé noeud, dans ces fichiers) à la fin du fichier .INL. apparemment, je ne peux pas prendre une valeur de tableau de données de type E ...
L'erreur est juste avant la définition de la méthode:
Noeud * Arbre<E>::_auxPereSym(E *tabS, int debut, int fin, E **ptr, int &card) throw (std::bad_alloc)
Je l'ai lu dans d'autres threads que le type de retour doit être Arbre
Toutes les pensées?
Merci pour votre temps et votre aide.
Note: Permettez-moi de savoir si une traduction est nécessaire pour quoi que ce soit, c'est un devoir français
.La solution
Essayez de se qualifier comme si lors de la définition dans le fichier .INL (et non le fichier d'en-tête selon votre préoccupation).
Le type de retour doit être examiné dans le cadre approprié de façon appropriée.
BRAIN AHEAD CODE COMPILÉES
template<typename E>
typename Arbre<E>::Noeud * Arbre<E>::_auxPereSym(E *tabS, int debut, int fin, E **ptr, int &card) throw (std::bad_alloc)
EDIT2:
Déclaration changement de retour dans la fonction membre comme ceci:
return new typename Arbre<E>::Noeud(tabS[0]);