参数构造函数错误:错误 C2511

Error with parameter constructors: Error C2511

刚开始接触 OOP。在我的源文件中调用参数构造函数时遇到错误:

Error C2511 'EuroVanillaOption::EuroVanillaOption(const double,const double,const double,const double,const double)': overloaded member function not found in 'EuroVanillaOption' Euro option calculator.

这是什么原因?是跟文件名有关还是classobject?

此外,在 VScode 中,参数构造函数的 header 声明下方显示一条绿色波浪线警告,提示“未找到 EuroVanillaOption 的函数定义”,这是相关问题吗?

最后,在预处理器指令的末尾有一个错误,它定义了名字_Euro_Vanilla_Option_H说“需要一个声明”,为什么?

...
EuroVanillaOption::EuroVanillaOption(const double _s, const double _K,
                                     const double _T, const double _r,
                                     const double _sigmaVOL) {
    s = _s;
    K = _K;
    T = _T;
    r = _r;
    sigmaVOL = _sigmaVOL;


} 

header声明

public:
    EuroVanillaOption();                                    
    EuroVanillaOption(const double& _s, const double& _K,   
                      const double& _T, const double& _r,
                      const double& _sigmaVOL); 

签名不一样。在 header 中,您传递引用。在 .cpp 中,没有引用。他们需要匹配。 (参见 header 中的 & 标志。)

将这些作为参考传递会很奇怪。去掉 &.