我正在使用OpenGL在c ++中进行一个项目,并且继续受到来自cmath.h的数百个语法错误的攻击。主要难题是我甚至根本没有提到或包括cmath。我在一两件事情中使用math.h,但在我做最近的更改之前,代码工作正常。回到以前工作的代码现在显示相同的错误,所以我有点难以从哪里开始寻找。
我是否遗漏了一些非常明显的内容,或者这可能是Visual Studio 10的问题?
答案 0 :(得分:7)
可能是因为没有(标准)cmath.h
C math标头是math.h
,C ++也公开了这个库,但只是cmath
,但是它的所有元素都被提升到了std :: namespace。
在C ++项目中,您应该像这样包含库:
#include <cmath>
并使用它的元素:
c=std::sqrt(
std::pow(a,2)
+std::pow(b,2));
或其他任何事情。