C ++ - Compiler erreur sur un devoir d'arbre: erreur: constructeur prévu, destructor ou conversion de type avant jeton « * »

StackOverflow https://stackoverflow.com/questions/4200904

  •  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 :: Parce que Nœud est une structure Nœud imbriqué de ma classe ... Mais malheureusement Arbre, je ne peux pas changer le fichier d'en-tête ...

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

.
Était-ce utile?

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]);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top