Xcode typedef of struct创建错误/警告

时间:2016-02-05 04:45:57

标签: c++ c xcode struct typedef

只是想知道我是否犯了一些愚蠢的错误或它的Xcode。

我有一个struct的typedef,现在在比较同一类型的两个变量之间的指针时,在Xcode中创建一个不兼容的指针,而不是在linux中。请问任何人,请告诉我这里发生的事情。

typedef struct Node
{
    // treeNode has a hidden Address
    int size;
    struct treeNode *left;
    struct treeNode *right;

} treeNode;

treeNode* FindMin(treeNode *node)
{
    if(node==NULL)
    {
        return node;
    }
    if(node->left) 
        return FindMin(node->left); // Error :- treeNode is incompatible with Node
    else
        return node;
}


// If I type cast it .. Show no sign of error..


treeNode* FindMin(treeNode *node)
{
    if(node==NULL)
    {
        /* There is no element in the tree */
        return node;
    }
    if(node->left) 
        return FindMin((struct Node *)node->left); // No Error here
    else
        return node;
}

1 个答案:

答案 0 :(得分:1)

像这样宣布你的treenode

typedef struct treeNode
{...

而不是

typedef struct Node
{...

您正在访问下面的声明struct treeNode中的struct treeNode *left;,但声明结构为struct Node