web-dev-qa-db-fra.com

Obtention d'erreur: ISO C ++ interdit la déclaration sans type

Je reçois les erreurs suivantes:

ISO C++ interdit la déclaration de ttTreeInsert sans type

ISO C++ interdit la déclaration de ttTreeDelete sans type

ISO C++ interdit la déclaration de ttTreePrint sans type

prototype pour int ttTree :: ttTreePrint () ne correspond à aucun de la classe ttTree

le candidat est: void ttTree :: ttTreePrint ()

Voici mon fichier d'en-tête:

#ifndef ttTree_h
#define ttTree_h

class ttTree 
{
public:
  ttTree(void);
  int ttTreeInsert(int value);
  int ttTreeDelete(int value);
  void ttTreePrint(void);

};

#endif

Voici mon fichier .cpp:

#include "ttTree.h"

ttTree::ttTree(void)
{

}

ttTree::ttTreeInsert(int value)
{
}

ttTree::ttTreeDelete(int value)
{
}

ttTree::ttTreePrint(void)
{
}

Quelqu'un peut-il indiquer la cause de ces erreurs? Merci!

30
user2264035

Vous avez oublié les types de retour dans vos définitions de fonction de membre:

int ttTree::ttTreeInsert(int value) { ... }
^^^               

etc.

52
juanchopanza

Votre déclaration est int ttTreeInsert(int value);

Cependant, votre définition/mise en œuvre est

ttTree::ttTreeInsert(int value)
{
}

Notez que le type de retour int est manquant dans l'implémentation. Au lieu de cela, il devrait être

int ttTree::ttTreeInsert(int value)
{
    return 1; // or some valid int
}
6
ap-osd