【发布时间】:2011-05-04 02:30:23
【问题描述】:
我试图在 Visual Studio 2010 中编译一个简单的 ansi C 示例,但遇到了这个错误编译:
错误: patchC.c(5): error C2275: 'FILE' : 非法使用这种类型作为表达式
程序1:
#include <stdio.h>
int main(void) {
printf("Hello world!\n");
FILE *fp;
fp = fopen("test.txt", "r");
return 0;
}
相同的程序在 gcc v4.5.2 中编译没有错误。
但是,如果我把“FILE *fp;”从 main() 行出来,程序可以优雅地编译。
程序2:
#include <stdio.h>
FILE *fp;
int main(void) {
printf("Hello world!\n");
fp = fopen("test.txt", "r");
return 0;
}
我不明白为什么会出现这种行为,有人可以回答吗?
【问题讨论】:
标签: c visual-c++ c89