我刚刚开始使用 Visual Studio(我从 Dreamspark 获得了 VS 2012,而且不久之后我又开始使用 Windows)并且遇到了一些麻烦。
我的 Source Files 文件夹下有一个名为“main.c”的文件,如下所示:
#include <stdio.h>
typedef struct S_s S;
struct S_s {
void* x;
};
int main(int argc, char** argv)
{
int N;
scanf("%d", &N);
S* s;
printf("%p", s);
return 0;
}
当我尝试构建它时,它会给我以下错误消息:
Error 3 error C2065: 's' : undeclared identifier c:\users\math4tots\documents\visual studio 2012\projects\algorithms\lecture1\main.c 13 1 Lecture1
Error 4 error C2065: 's' : undeclared identifier c:\users\math4tots\documents\visual studio 2012\projects\algorithms\lecture1\main.c 14 1 Lecture1
Error 2 error C2275: 'S' : illegal use of this type as an expression c:\users\math4tots\documents\visual studio 2012\projects\algorithms\lecture1\main.c 13 1 Lecture1
有趣的是,如果我注释掉该scanf
行,它就可以构建得很好。
我确实在“Visual C++”选项下创建了一个“空项目”,所以我不确定 VS 是否将它编译为 C 或 C++ 程序。但是,我的印象是我的代码与 C/C++ 无关,以至于它应该在 C 或 C++ 中编译。
在保持程序语义的同时,我能做些什么来构建它?