Honestamente, no tengo idea de por qué sucede esto. Verifiqué, verifiqué dos veces y comprobé tres veces las llaves, los puntos y comas, los constructores movidos, etc. y todavía me da este error.Constructor esperado, destructor o conversión de tipo antes del token '*'
El código relevante a continuación.
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
Y 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;
}
sería útil si (a) copió en el mensaje de error completo (b), se indica en qué parte del código que produce y (c), que el compilador de la plataforma que' re usando –
Debe mencionarse que sus guardias de inclusión no son seguras. Un nombre que comienza con un guión bajo en lugar de una letra mayúscula está reservado para el compilador. Debería hacer algo como cambiar '_BINTREE_H' a' BINTREE_H' – GManNickG