声明函数会在代码中生成任何问题

时间:2013-09-14 12:18:25

标签: c++ c header prototype declaration

在我的项目中,我有一个Header文件common.h,其中包含许多标题。其中一些文件包括Common.h和其他一些已经存在于Common中的标题。所以在Pre-Processing阶段有许多函数获取原型两次(一次来自Included标题,另一次来自Gui.h)。我想知道这会导致长期的任何问题。

请建议..提前谢谢..

2 个答案:

答案 0 :(得分:4)

标题应为include guards,以便只处理一次:

#ifndef SOME_UNIQUE_STRING
#define SOME_UNIQUE_STRING

// Everything else here

#endif

“Everything”我的意思是“一切”,从你的#include开始,如果有的话。

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

如果你查看你的图书馆标题,你会注意到他们使用这样的包含守卫。

答案 1 :(得分:0)

正如Chemistpp建议的那样,
     #pragma once
尝试是一个很好的选择,虽然它是非标准的 查看链接中列出的优缺点。