c++ - 声明函数会在代码中产生任何问题

标签 c++ c header prototype declaration

在我的项目中,我有一个头文件 common.h,其中包含许多头文件。一些文件包括 Common.h 和一些其他头文件,这些头文件已经存在于 Common.h 中,因此在预处理阶段有许多函数获得两次原型(prototype)(一次来自 Included header ,另一次来自 Gui.h)。我想知道从长远来看这是否会导致任何问题。

请建议..提前致谢..

最佳答案

标题应该有 include guards这样它们只被处理一次:

#ifndef SOME_UNIQUE_STRING
#define SOME_UNIQUE_STRING

// Everything else here

#endif

我所说的“一切”是指“一切”,如果有的话,从你的 #include 开始。

SOME_UNIQUE_STRING 可以是模块的名称,只要它不太可能与其他地方的另一个定义重合即可。

如果您查看您的库 header ,您会注意到它们使用了这样的 include guards。

关于c++ - 声明函数会在代码中产生任何问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18801665/

相关文章:

c++ - 如何使用 CMake 正确设置动态库路径?

c++ - 在创建新文件时显示 "<SFML/Graphics.hpp> no such file or directory"

c++ - 重载虚函数集的部分继承

c - 生产者-消费者堆栈行为而不是队列

php - Nginx/PHP : Nginx is not returning a 304 response when sending Etag header

XCode 3.1.2,找不到头文件

c# - 你如何在 C++ 中调用 C# 方法?

c - 如何在 C 中打开数据库句柄并使用 SWIG 将其传递给 Perl?

c - 非阻塞等待子进程退出

c++ - 在哪个头文件中声明了 c++ STL 哈希函数对象?