由于“模棱两可”,我在编译时遇到了麻烦。
我有:

#include <cmath>
#include <math.h>

float q;
setActivacion(1/(1+pow(M_E,-q)));

编译器说:
ISO C++指出,尽管前者的最坏转换比后者的最差转换要好,但它们还是模棱两可的:

双战俘(双,双)
浮点数std::pow(float,float)

我尝试将直接的十进制值插入pow()的参数中,并且可以正常工作。似乎很难接受变量。

提前致谢。

最佳答案

这是因为C++标准库合并了C标准库-math.h和cmath应该相同,除了cmath将所有内容放入std::命名空间之外。因此,不要同时包含两者-如果您使用的是C++,则应该只将#include <cmath> 包括即可。

关于c++ - math.h和cmath之间有冲突吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12436432/

10-11 16:31