在我的项目中,我有一个头文件 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/