我是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);
^
请帮助,谢谢。
答案 0 :(得分:1)
没有自动包含行为..通过包含<iostream>
您间接包含<cmath>
。
这就是Microsoft实现C ++标准库的方式,他们希望使用一些<cmath>
函数,因此需要将它包含在头文件中。
我建议你阅读article。