头文件包括彼此

时间:2013-12-06 13:24:55

标签: c++

我有两个头文件。 decimal.h和integer.h,每个都包含它们各自的类。 我想写这样的东西。

//integer.h
#ifndef INTEGER_H
#define INTEGER_H
#include "decimal.h"
class Integer
{
     ...
     operator Decimal();
}
#endif

//decimal.h
#ifndef DECIMAL_H
#define DECIMAL_H
#include "integer.h"
class Decimal
{
     ...
     operator Integer();
}
#endif

给我带来麻烦的是,因为它们包含了每个,所以它在Visual Studio中表现得很奇怪并且会产生奇怪的编译器错误。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:6)

也许你只想要一个前瞻声明?

// In Integer.h
class Decimal;
class Integer
{
     ...
     operator Decimal();
};

(顺便说一句,你错过了代码中的最后一个分号。)