我是C 的新手,并获得了此任务。我必须使用此标头文件,从中提供了相关摘录。班级名称为ReadoffasianCall。
PayoffAsianCall(double strike);
virtual double operator()(std::vector<double> & spot) const;
virtual ~PayoffAsianCall(){}
我想将一些内容分配给主文件中的操作员我一直在使用
PayoffAsianCall &PayoffAsianCall::virtual double operator()(std::vector<double> & spot) const { do stuff here}
但这尚未起作用。有人可以向我解释正确的语法吗?
总是很难为初学者获得一些基础,而C 也不容易驯服。所以这里有一些提示:
我们从您的尝试开始
payoffasiancall&amp; payoffasiancall ::虚拟double operator()(std :: vector&amp; spot)const {在此处做事}
首先:要注意的第一件事是返回类型,您说返回类型是
READOFFASIANCALL&amp;
顺便说一句。您应该真正注意&
的位置。在这种情况下,它意味着referenece
及其READOFFASIANCALL参考,因此应该是ReadoffasianCall&amp;而不是ReadoffasianCall&amp;。
但是无论如何:在类定义中,您说返回值是 double
,因此应为 double
:
double PayoffasianCall :: Virtual double double operator()(std :: vector&amp; spot)const {在此处做事}
那已经好多了。现在我们需要操作员名称,因为它是类成员,名称包括类名称virtual
和double
与名称无关,因此virtual
保留在类定义本身中,因此在此处没有空间已经照顾了。所以我们现在有:
double PayoffasianCall :: operator()(std :: vector&amp; spot)const {在这里做事}
这就是全部。如前所述,我建议正确放置&
。这不是std ::矢量参考点,而是std ::向量参考点:
double PayoffasianCall :: operator()(std :: vector&amp; spot)const {在这里做事}
完成。