Tôi thành thật không biết tại sao điều này lại xảy ra. Tôi đã kiểm tra, kiểm tra hai dấu ngoặc và dấu ngoặc nhọn ba dấu kiểm, dấu chấm phẩy, các hàm tạo di chuyển xung quanh, v.v. và nó vẫn cho tôi lỗi này.Nhà xây dựng dự kiến, trình phá hủy hoặc chuyển đổi loại trước mã thông báo '*'
Các mã có liên quan sau.
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
Và 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;
}
Nó sẽ là hữu ích nếu bạn (a) sao chép trong thông báo lỗi đầy đủ, (b) chỉ ra nơi trong mã nó xảy ra và (c) mà trình biên dịch vào nền tảng bạn' tái sử dụng. –
Cần lưu ý rằng các nhân viên bảo vệ của bạn không an toàn. Tên bắt đầu bằng dấu gạch dưới chữ cái viết hoa được dành riêng cho trình biên dịch. Bạn nên làm một cái gì đó như thay đổi '_BINTREE_H' thành' BINTREE_H' – GManNickG