Szczerze nie mam pojęcia, dlaczego tak się dzieje. Sprawdziłem, sprawdziłem i potrójnie sprawdziłem nawiasy klamrowe, średniki, przestawiłem konstruktorów itd. I nadal daje mi to błąd.Oczekiwany konstruktor, destruktor lub konwersja typu przed tokenem "*"
Stosuje się odpowiedni kod.
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
I 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;
}
Byłoby przydatne, jeśli (a) kopiowane w pełnym komunikatem o błędzie, (b) wskazuje, gdzie w kodzie występuje i (c), który kompilator na jakiej platformie ty” ponownie używać. –
Należy wspomnieć, że twoi strażnicy nie są bezpieczni. Nazwa zaczynająca się od znaku podkreślenia niż wielka litera jest zarezerwowana dla kompilatora. Powinieneś zrobić coś takiego jak zmienić '_BINTREE_H' na' BINTREE_H' – GManNickG