所以我一直被困在从一个类共享一个函数到另一个类的问题上,到目前为止我发现的每一个解决方案都没有解决我的问题。这里有一个实例(我向你保证还有其他实例),[http://software.intel.com/en-us/articles/cdiag436]
酒吧.h
#ifndef __Bar_h_
#define __Bar_h_
#include "BaseApplication.h"
#include <Foo.h>
class Foo;
Foo *foo;
class Bar : BaseApplication
{
public:
Bar(void);
~Bar(void);
protected:
virtual void barCreate(void);
};
#endif
条形图.cpp
#include "Bar.h"
#include <Foo.h>
Bar::Bar(void){}
Bar::~Bar(void){}
void Bar::barCreate(void)
{
if(foo->foobar()==true) //error: pointer to incomplete class type is not allowed
{//stuff}
}
Foo.h
#ifndef __foo_h_
#define __foo_h_
class Foo
{
public:
Foo(void);
~Foo(void);
bool foobar(void);
};
#endif
Foo.cpp
#include "Foo.h"
Foo::Foo(void){}
bool Foo::foobar(void){ return true; }
如果我能得到一些指示或解释我哪里出错了,那就太好了。