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

C4430 missing type specifier - int assumed

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

这是CallOption.hpp

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

PutOption.hpp

中也类似
double PCParity(const CallOption& call_option) const;

当然,我将 CallOption.hpp 包含在 PutOption.hpp 中,并且互惠。

但我收到以下错误:

意思是我不能在编译时同时调用两个派生的classes吗?

非常感谢任何帮助。 :(

感谢@drescherjm 的评论,在你回复的同时我一直在寻找解决问题的方法。正如您所说,我应该使用此处所述的前向声明: What are forward declarations in C++?。 事实上,我应该在 PutOption.cpp 中包含 CallOption.hpp,对于 CallOption class 也是如此。然后,在CallOption.hpp的顶部声明如下:

Class PutOption;
Class CallOption: public Option
{
}

非常感谢:)