gpt4 book ai didi

c++ - g++:错误:没有依赖模板参数的 'pow' 参数,因此 'pow' 的声明必须可用 [-fpermissive]

转载 作者:搜寻专家 更新时间:2023-10-31 01:14:40 31 4
gpt4 key购买 nike

此代码在 Windows 上的 Visual Studio 2010 上正确编译,但我在 Linux、g++ 上遇到此错误。谁能解释一下如何解决这个问题?

int bits;
T scale;
std::vector<U> TwoPowers;
U cropper;

template <typename T, typename U>
ConvertToBits<T,U>::ConvertToBits(int bits, T scale)
{
this->bits = bits;
this->scale = scale;
for(long i = 0; i < 64; i++)
{
TwoPowers.push_back(static_cast<U>(pow(2.,i))); //error appears here
}
cropper = 0;
for(int i = 0; i < bits; i++)
{
cropper += TwoPowers[i];
}
}

错误信息:

错误:“pow”没有依赖于模板参数的参数,因此“pow”的声明必须可用 [-fpermissive]

谢谢。

最佳答案

您需要 #include <cmath>并在数学库中链接 -lm (在某些系统上)。

关于c++ - g++:错误:没有依赖模板参数的 'pow' 参数,因此 'pow' 的声明必须可用 [-fpermissive],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11039029/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com