我正在制作二进制搜索树,这是我的结构代码:
struct BST
{
float val;
struct BST* left;
struct BST* right;
};
在那之后,我将对我将要使用的函数进行一些声明:
BST* BSTCreate(float);
void BSTFree(BST*);
int BSTAddElement(BST*, float);
当我尝试运行整个事情时,我会遇到非常奇怪的错误,例如missing '{' before '*'
(第一个声明行)或missing ')' before '*'
(第二个十二行)。之后,在我的main()
函数中,我有这一行BST tree;
,并在错误'tree' : undeclared identifier
中说明。
我喜欢30个更奇怪的错误,比如整个程序。怎么回事?
答案 0 :(得分:0)
使用
struct BST
{
float val;
struct BST* left;
struct BST* right;
};
你会使用:
struct BST* BSTCreate(float);
void BSTFree(struct BST*);
int BSTAddElement(struct BST*, float);
有了这个:
typedef struct BST
{
float val;
struct BST* left;
struct BST* right;
} BST;
或者这个:
struct BST
{
float val;
struct BST* left;
struct BST* right;
};
typedef struct BST BST;
您可以使用:
BST* BSTCreate(float);
void BSTFree(BST*);
int BSTAddElement(BST*, float);