2017-02-18 105 views
0

我想在CallOption和PutOption派生类中编码Put-Call Parity函数。 我想这个函数传递对象的引用作为参数。C4430缺少类型说明符 - int假定

这是函数的在CallOption.hpp

double PCParity(const PutOption& put_option) const; 

类似地在PutOption.hpp

double PCParity(const CallOption& call_option) const; 

I,当然,包括在CallOption.hpp和PutOption.hpp往复签名和。

,但我得到了以下错误:

  • 标识符 'PutOption' 是不确定的。
  • 缺少类型说明符 - 假定为int。注意C++不支持default-int。
  • 语法错误:缺少“”前&

这是否意味着我不能在编译时同时调用两个派生类?

任何帮助,非常感谢。 :(

+0

你可能有一个圆形的include路径。 – drescherjm

+0

***我当然在PutOption.hpp中包含了CallOption.hpp,并且是相互的。***这是你的错误。 – drescherjm

+3

[解决头包括循环依赖项]的可能重复(http://stackoverflow.com/questions/625799/resolve-header-include-circular-dependencies) – drescherjm

回答

0

谢谢@drescherjm的意见,而你回答我一直寻找一个解决我的问题正如你说我应该使用向前声明喜欢这里说:。 What are forward declarations in C++? 事实上,我应该包括CallOption.hppPutOption.cpp 。同样地,对于该CallOption类然后,声明在CallOption.hpp顶部,如下所示:

Class PutOption; 
Class CallOption: public Option 
{ 
} 

非常感谢:)

相关问题