不能在多个文件中包含动态库头文件?

时间:2009-11-11 01:22:09

标签: c++ c header-files

我已成功将动态库添加到程序中,但是当我尝试将头文件包含在项目的第二个文件中时,我会收到有关类重新声明的错误。如果这还不够,我会添加更多信息

2 个答案:

答案 0 :(得分:5)

您需要将警卫放入标题中,以免多次出现。对于文件'my.h',您可以添加以下内容:

#ifndef MY_H
#define MY_H

// Header declarations here

#endif

这样,您可以多次包含.h文件,但只会在第一次包含。

答案 1 :(得分:4)

#include会将#include语句替换为文件内容;因此,具有相同文件的多个#include将重复定义元素。典型的方法是保护,如:

/* file foo .h */
#ifndef _FOO_H
#define _FOO_H

/* content */

#endif