自从我用 C 编码以来已经很久了,现在我什至无法创建链表 :(NodeType
结构可能有什么问题?我什至尝试了这个例子,但我仍然得到与此类似的错误。
我需要创建可以在 linux 和 windows 上运行的链表(无需大量修改)。
我编译使用:cl myFile.c
命令。
错误信息:
Microsoft (R) 32 位 C/C++ 优化编译器版本 16.00.40219.01,适用于 80x86 版权所有 (C) Microsoft Corporation。版权所有。
unlock.c unlock.c(46) : error C2275: 'Node' : 非法使用这种类型作为表达式 unlock.c(17) : 见'Node'声明 unlock.c(46) : error C2146: 语法错误: 失踪 ';' 在标识符“a”之前 unlock.c(46):错误 C2065:“a”:未声明的标识符
源代码:
#include <stdio.h>
#include <windows.h>
#include<stdlib.h>
typedef enum {STABLE, RPUSH, LPUSH} STATUS_TYPE;
typedef struct NodeType
{
struct NodeType* _left;
struct NodeType* _right;
int _value;
}Node;
typedef struct AnchorType
{
struct Node* _mostLeft;
struct Node* _mostRight;
STATUS_TYPE _status;
} Anchor;
Node CreateNode(int data)
{
Node newNode;
newNode._value = data;
newNode._left = NULL;
newNode._right = NULL;
return newNode;
}
int main()
{
Anchor anchor;
anchor._mostLeft = NULL;
anchor._mostRight = NULL;
anchor._status = STABLE;
Node a; //<-- What might be wrong ?
return 0;
}
感谢帮助。