我正在编写将计算储蓄帐户利息的代码。我将所有变量都列为Double。我在编写底部的cout提示之前对其进行了编译,现在我的代码已完成,因此无法编译。它给了我一个错误。我尝试弄乱括号的数量,但没有任何帮助。这是我的代码
FinalBalanceDaily = StartingPrinciple*(pow(1+((SimpInt/100)/365),(365*T)));
FinalBalanceMonthly = StartingPrinciple*(pow(1+((SimpInt/100)/12),(12*T)));
这是错误消息。
:55:错误:没有匹配的函数调用“pow(double)”
然后给出注释。事实是,这两行位于第53和54行,55使用exp函数。
FinalBalanceCont = StartingPrinciple*(exp((SimpInt/100)*T));
EffectiveSimpInt1=(exp(SimpInt*T)-1)/T;
EffectiveSimpInt2=((pow(1+(SimpInt/365),(365*T)))-1)/T;
EffectiveSimpInt3=(pow(1+(SimpInt/12),(12*T))-1)/T;
这些是使用pow()函数的行
最佳答案
std::pow()需要两个参数,但您只需输入一个
我建议您可以使代码更具可读性:
double x = 1 + (SimpInt / 100) / 12;
double y = 12 * T;
FinalBalanceMonthly = StartingPrinciple * pow(x, y);
顺便说一句,我认为您将“()”放在错误的位置
关于c++ - 接收错误 “no matching function for call to pow(double)”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32516045/