Я, честно говоря, понятия не имею, почему это происходит. Я проверил, дважды проверял и трехкратно проверял фигурные скобки, точки с запятой, перемещал конструкторы и т. Д., И это все равно дает мне эту ошибку.Ожидаемый конструктор, деструктор или преобразование типа перед токеном '*'
Соответствующий код следует.
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
И 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;
}
Было бы полезно, если вы (а) копируется в полное сообщение об ошибке, (б) указал, где в коде это происходит и (с), который компилятор, на какой платформе вы» повторно используя. –
Следует отметить, что ваши охранники не являются безопасными. Для компилятора зарезервировано имя, начинающееся с подчеркивания, отличного от большой буквы. Вы должны сделать что-то вроде изменения '_BINTREE_H' на' BINTREE_H' – GManNickG