我正在尝试编写一个使用斯特林公式计算数字近似因子的代码。
以下是计算它的行:
appFact = pow(exp, -num) * pow(num, num) * sqrt(2 * num * PI);
错误来自pow(exp,-num),pow用红色下划线标出。
IntelliSense: no instance of overloaded function "pow" matches the argument list 25
变量声明为:
float num, num2, num3, num4, MEAN, stanDev, VARI, appFact, exp;
readFile >> num >> num2 >> num3 >> num4;
appFact = pow(exp, -num) * pow(num, num) * sqrt(2 * num * PI);
答案 0 :(得分:2)
尝试包含相应的头文件:
#include <cmath>
如果这没有帮助,请注意pow()
的实现位于std
命名空间中。所以:
appFact = std::pow(exp, -num) * std::pow(num, num) * std::sqrt(2 * num * PI);
答案 1 :(得分:1)
记住斯特林的公式!分数(n / e)中的分母当然是欧拉e,e = 2.71828(5位数)。请参阅:http://en.wikipedia.org/wiki/E_(mathematical_constant)。