在下面的简单程序中,
#include<conio.h>
#include "stdafx.h"
#include<stdio.h>
int main(int argc, _TCHAR* argv[])
{
printf("print");
getch();
return 0;
}
错误地说1>e:\cust\a\a\a.cpp(14) : error C3861: 'getch': identifier not found
我正在使用VS 2005.我知道&#34; stdafx.h&#34;是预编译头,但为什么我们不应该在它之前添加任何头文件?
答案 0 :(得分:1)
VS中的预编译头工作方式使得预编译头(通常名为stdafx.h
)必须是包含中的第一个头。更多,行
#include "stdafx.h"
应该是源代码中的第一件事,因为MSDN说“编译器会将.h文件之前发生的所有代码视为预编译。它跳过与.h文件关联的#include指令之外,使用包含的代码在.pch文件中,然后在文件名后编译所有代码。“。