Honnêtement, je n'ai aucune idée de pourquoi cela se produit. J'ai vérifié, revérifié, vérifié trois fois les accolades, les points-virgules, les constructeurs déplacés, etc. et cela me donne toujours cette erreur.Constructeur attendu, destructeur, ou conversion de type avant le jeton '*'
Le code correspondant suit.
BinTree.h
#ifndef _BINTREE_H
#define _BINTREE_H
class BinTree
{
private:
struct Node
{
float data;
Node *n[2];
};
Node *r;
Node* make(float);
public:
BinTree();
BinTree(float);
~BinTree();
void add(float);
void remove(float);
bool has(float);
Node* find(float);
};
#endif
Et BinTree.cpp
#include "BinTree.h"
BinTree::BinTree()
{
r = make(-1);
}
Node* BinTree::make(float d)
{
Node* t = new Node;
t->data = d;
t->n[0] = NULL;
t->n[1] = NULL;
return t;
}
Il serait utile si vous (a) copié dans le message d'erreur complète, (b) indiqué où dans le code, il se produit et (c) qui compilateur sur quelle plate-forme vous » re en utilisant. –
Il convient de mentionner que vos gardes d'inclusion ne sont pas sécuritaires. Un nom commençant par un trait de soulignement par rapport à une lettre majuscule est réservé au compilateur. Vous devriez faire quelque chose comme le changement '_BINTREE_H' à' BINTREE_H' – GManNickG