getFoo
以下代码在函数中生成错误,因为MockFoo
尚未定义为继承自IFoo
. 我怎样才能解决这个问题?最简单的方法是将_foo
's 的类型更改为 IFooPtr。但如果可能的话,我宁愿不做这个改变。我无法更改定义类的顺序。
class MockFoo;
typedef boost::shared_ptr<MockFoo> MockFooPtr;
class MockBar: public IBar
{
virtual IStructPtr getFoo() const {
return _foo;
}
...
MockFooPtr _foo;
};
class MockFoo: public IFoo
{
...
};