当前位置: 首页 > 知识库问答 >
问题:

c++ - 在Visual Studio中引用头文件报错?

充阳秋
2023-10-14

在Visual studio中新建了两个c++源文件和一个头文件,分别是main.cpp

#define _CRT_SECURE_NO_WARNINGS 1 #include <iostream>#include "Log.h"int main(){    InitLog();    Log("Hello World!");    std::cin.get();}

Log.cpp

#define _CRT_SECURE_NO_WARNINGS 1 #include <iostream>void InitLog(){    Log("Initializing Log");}void Log(const char* message){    std::cout << message << std::endl;}

Log.h

#pragma oncevoid Log(const char* message);void InitLog();

其中主函数一直显示错误信息
image.png
作为新手,我不是很清楚,我正常引用了头文件为什么会报错,求大佬解答一下

共有1个答案

商高谊
2023-10-14

从你提供的代码和错误信息来看,问题可能是由于在main.cpp中,你尝试调用InitLog()函数,但是该函数的声明在Log.h头文件中,而你并没有正确地包含该头文件。

在你的代码中,你包含的是<iostream>而不是"Log.h"。所以编译器在编译main.cpp时,无法找到InitLog()的声明,从而引发了错误。

你可以通过在main.cpp的开头包含"Log.h"来解决这个问题,如下所示:

#define _CRT_SECURE_NO_WARNINGS 1 #include "Log.h" // 这里改为包含 "Log.h"#include <iostream>int main(){ InitLog(); Log("Hello World!"); std::cin.get();}

这样,编译器就可以在main.cpp中找到InitLog()函数的声明,编译就不会出现错误了。

 类似资料:
  • 我想比较visual studio中的两个文件(包含存储过程的文件),所以我想忽略文件中所有的差异。 我打开命令窗口,使用但它也考虑了案例差异 我已经看过这个问题和答案了

  • 我在Visual Studio中看到了新的比较工具 有没有一种方法,我可以只是比较两个文件与内置的功能在Visual

  • 本文向大家介绍C++中头文件和源文件详细介绍,包括了C++中头文件和源文件详细介绍的使用技巧和注意事项,需要的朋友参考一下 C++中的头文件和源文件详解 一、C++编译模式 通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。 C+ +语言支持“分别编译”(

  • 任何选项,我只能使用消息内容,留下报头,以便节省时间,通过网络传输报头和反序列化他们在消费者。感谢你的帮助。

  • 问题内容: 有谁知道在Python中使用C头文件的好方法吗?例如,我有一个包含全局变量的C程序: 我希望能够采用C编译器/链接器生成的二进制文件,并使用Python脚本解析此结构(并可能对其进行修改)。 问题答案: 看一下用Python编写的C ++标头解析器 。您还可以使用以下任何一种工具编写自己的解析器: 剖析 层 勒普 还有更多…

  • VisualStudio (GitHub Extension for Visual Studio) 是 GitHub 的 Visual Studio 插件。 主要功能: 连接 GitHub 一键 clone 创建新库 发布本地库