'富'尚未声明,但包含它的文件

时间:2014-10-01 18:30:49

标签: c++ mingw eclipse-cdt

我有2个.h文件(带.cpp文件),其代码如下:

富:

#ifndef INCLUDE_FOO_H_
#define INCLUDE_FOO_H_

class Foo
{
    public:
        virtual ~Foo();
        virtual void workWithBar(Bar* bar);
};

#endif /* INCLUDE_FOO_H_ */

栏:

#ifndef INCLUDE_BAR_H_
#define INCLUDE_BAR_H_

class Bar
{
    public:
        virtual ~Bar();
        virtual void letsWorkWithFoo(Foo* itsFoo);
};

class Bar2 : public Bar
{
    public:
        virtual void letsWorkWithFoo(Foo* itsFoo);
};
#endif /* INCLUDE_BAR_H_ */

cpp文件只是简单的文件,带有“空”impl。那段代码。我正在使用最新的Eclipse,以及我能找到的最新MinGW。两个cpp文件都包含和。如果我将所有类放在一起,它将编译并正常工作。我也在main.cpp中使用Foo.h,它的工作也很完美。

我确实尝试将包含添加到Foo& Bar,我确实尝试过使用diffrent std(-std = c ++ 11)。我没有在.h文件中的任何地方使用“使用命名空间”。

P.S。如果你没有从标题中取消它 -

C:\PathWasHere\include/Bar.h:35:21: error: 'Foo' has not been declared

   virtual void workWithFoo(Foo *Foo);

                     ^
C:\PathWasHere\include/Bar.h:86:21: error: 'Foo' has not been declared

   virtual void workWithFoo(Foo *Foo);
                     ^

编辑:忘了说,我也在和Foo一起工作。

0 个答案:

没有答案