C4430缺少类型说明符 - 假设为int

时间:2017-02-18 03:26:42

标签: c++ pass-by-reference derived-class computational-finance

我正在尝试在CallOption和PutOption派生类中编写Put-Call Parity函数。 我希望这个函数将对象的引用作为参数传递。

这是CallOption.hpp

中函数的签名
double PCParity(const PutOption& put_option) const;

,同样在PutOption.hpp

double PCParity(const CallOption& call_option) const;

当然,我在PutOption.hpp中包含了CallOption.hpp并且相互之间。

但我收到以下错误:

  • 标识符'PutOption'未定义。
  • 缺少类型说明符 - 假设为int。注意C ++不支持default-int。
  • 语法错误:在&
  • 之前缺少','

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

非常感谢任何帮助。 :(

1 个答案:

答案 0 :(得分:0)

感谢@drescherjm的评论,而你回答说我一直在寻找解决问题的方法。如你所说,我应该使用如此处所述的前瞻声明: What are forward declarations in C++?。 实际上,我应该在CallOption.hpp中包含PutOption.cpp,并且类似地包含CallOption类。然后,在CallOption.hpp的顶部声明,如下所示:

Class PutOption;
Class CallOption: public Option
{
}

非常感谢:)