如何修复 E2015 "ambiguity between pow(double,double) and pow(float,int)"

How to fix E2015 "ambiguity between pow(double,double) and pow(float,int)"

我正在用 C++ Builder 6 做作业。

当我尝试从变量 X 中获取立方根时,出现此错误:

result = std::pow(x, 1.0 / 3);

E2015 Ambiguity between "std::pow(double,double)" and "std::pow(float, int)"

我应该怎么做才能解决这个问题?或者可能有另一种方法来获得立方根?

std::cbrt()是C++ STL中的一个内置函数,用于计算数字的立方根。 它接受一个数字作为参数和 returns 该数字的立方根。

结果 = std::cbrt(x);

  1. 将变量 x 声明为 double 而不是浮点数。
  2. std:pow(double(x), 1.0/3)