结构创建错误/警告的Xcode typedef
Posted
技术标签:
【中文标题】结构创建错误/警告的Xcode typedef【英文标题】:Xcode typedef of struct creating error / warning 【发布时间】:2016-02-05 04:45:57 【问题描述】:只是想知道我是在犯一些愚蠢的错误还是它的 Xcode。
我有一个结构的 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;
【问题讨论】:
您是否收到来自 Xcode 的警告?还是编译器错误?如果是这样,你得到了什么错误,你的编译器标志是什么? 【参考方案1】:像这样声明树节点
typedef struct treeNode
...
而不是
typedef struct Node
...
您在下面的声明 struct treeNode *left;
中访问 struct treeNode
,但将结构声明为 struct Node
【讨论】:
以上是关于结构创建错误/警告的Xcode typedef的主要内容,如果未能解决你的问题,请参考以下文章
swift 3 present from appdelegate 错误:警告:尝试显示〜其视图不在窗口层次结构中
XCode 错误/警告问题/如何对 XCode 缓存进行核对