Onestamente non ho idea del motivo per cui questo sta accadendo. Ho controllato, ricontrollato e controllato tre volte parentesi graffe, punto e virgola, spostato i costruttori, ecc. E mi dà ancora questo errore.Conversione prevista del costruttore, del distruttore o del tipo prima del token '*'
Segue il codice pertinente.
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
E 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;
}
Sarebbe utile se (a) copiato nel messaggio di errore completo, (b) indicato dove nel codice si verifica e (c), che il compilatore su quale piattaforma si' usando. –
Va detto che le tue guardie incluse non sono al sicuro. Un nome che inizia con un carattere di sottolineatura rispetto a una lettera maiuscola è riservato al compilatore. Dovresti fare qualcosa come cambiare '_BINTREE_H' in' BINTREE_H' – GManNickG