参数构造函数错误:错误 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 中的 &
标志。)
将这些作为参考传递会很奇怪。去掉 &
.
刚开始接触 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 中的 &
标志。)
将这些作为参考传递会很奇怪。去掉 &
.