Visual Studio 2022:
我包含了一个简单的头文件来存储基本函数,如打印文本或执行函数到我的。cpp文件,但是在包含了一个存储Windows.h的预编译头文件后,.cpp文件无法识别非预编译头文件中的函数/变量。
CPP:
#pragma once
#include "basics.h"
#include "precompiled header.h"
int main()
{
Basics::Print("Something"); // C2653 Basics is not a class or namespace name
}
basics.h:
class Basics
{
public:
static void Print(const char* format, ...);
}
预编译header.h:
#pragma once
#include <Windows.h>
// This header is than #included in a .cpp file.
- 如果一些头需要其他头,但不能访问它们,因为只有。cpp文件可以,那么预编译头的意义是什么?你真的想要预编译头文件吗?在其他需要头文件的头文件中包含头文件。
预编译的头文件必须放在include列表的前面,因为它会擦除在它前面的所有内容。