包括文件问题

时间:2011-03-26 19:46:52

标签: c++ include

我有test.h个文件和example.h文件,我希望将每个文件包含在另一个文件中 我尝试了以下但没有奏效。

在文件test.h中:

 #ifndef "example.h"

 #define "example.h"`

...

 #endif

在文件example.h中:

#include "test.h"

后来尝试过:

#ifndef "test.h"

 #define "test.h"

...

#endif

但没有任何效果。

3 个答案:

答案 0 :(得分:3)

您需要为每个包含守卫提供一些唯一标识符。例如:

#ifndef EXAMPLE_H
#define EXAMPLE_H
...
#endif

您不能只使用#ifndef等文件名。

答案 1 :(得分:0)

也许你应该写如下:

在文件test.h中:

#ifndef __TEST_H__
#define __TEST_H__
#include "example.h"
#endif// __TEST_H__

在文件example.h中:

#ifndef __EXAMPLE_H__
#define __EXAMPLE_H__
#include "test.h"
#endif//__EXAMPLE_H__

答案 2 :(得分:0)

你做不到。这种方式包括地狱包括地狱。通过定义您使用的结构来解决您的问题

example.h文件

class bar;

    class foo
    {
        bar* barPtr;
    }

test.h

class foo;

class bar 
{
    foo* fooPtr;
}