我正在尝试用 C 语言编写链表。我正在使用以下代码:
#include <stdio.h>
typedef struct _node *nodep;
typedef struct _node {
int value;
nodep next;
} node;
int main(){
printf("Hello World!");
node* list = 0;
return 0;
}
我得到一个编译器错误 C2275 和 C2065
node* list = 0;
当我删除 printf
或将有问题的行移到 printf
之前时,代码会编译。
最佳答案
Visual Studio 不支持 C99。因此,您不能将声明和语句与此环境混合使用。而是写:
/* ... */
int main(void) {
node *list = 0; /* declaration */
printf("Hello World!\n"); /* statement */
return 0;
}
符合 C89 标准。
关于c - 简单 C 链表中的奇怪编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17765332/