Visual Studio自动包含cmath?

时间:2014-01-23 14:39:45

标签: compiler-construction visual-studio-2013 cmath

我是C + =的初学者,今天刚刚写了我的Hello World。

#include <iostream>
int main(){
double x = 6.25;
x = sqrt(x);
std::cout << x;
return 0;
}

这在Visual Studio中有效,没有错误消息,同时添加:

#include <cmath> 

也很好。

但是使用GCC编译器在线时,前面的代码返回

main.cpp: In function 'int main()':
main.cpp:5:12: error: 'sqrt' was
not declared in this scope x = sqrt(x);
                                     ^

请帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

没有自动包含行为..通过包含<iostream>您间接包含<cmath>

这就是Microsoft实现C ++标准库的方式,他们希望使用一些<cmath>函数,因此需要将它包含在头文件中。

我建议你阅读article