Fraction Fraction::pow (Fraction frac, int power)
{
Fraction temp;
temp.num = pow(frac.num, power);
temp.den = pow(frac.den, power);
return (temp);
}
// Assume that num and den are float and cmath is included
期间pow
需要float
,int
作为输入,并应给出float
而是需要Fraction
作为输入,并抛出一个错误的Fraction::pow,
里面的实例。如何重载调用自身的重载版本的函数?
您可以发布该类中所有'pow'函数的确切签名,以及所有构造函数,复制赋值运算符和转换运算符吗? – Mat 2012-02-21 07:07:40
显示'pow'的第二个重载定义。 – hamstergene 2012-02-21 07:07:46
正如@Mat所说的发布类和函数定义,你的'Fraction'类很可能有一个用于隐式转换的转换构造函数,导致调用不正确的函数,以确定为什么会发生这种情况,您需要向我们展示细节Mat说。 – 2012-02-21 07:13:26