在.cpp文件中包含预编译头文件和非预编译头文件会导致.cpp文件无法识别非预编译头文件

  • 本文关键字:文件 编译 cpp 识别 包含预 c++ visual-c++
  • 更新时间 :
  • 英文 :


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列表的前面,因为它会擦除在它前面的所有内容。

相关内容

  • 没有找到相关文章

最新更新