C(VS12)结构错误

时间:2014-01-04 17:52:21

标签: function struct declaration binary-search-tree

我正在制作二进制搜索树,这是我的结构代码:

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个更奇怪的错误,比如整个程序。怎么回事?

1 个答案:

答案 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);