0

我是 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);
                                     ^

请帮忙,谢谢。

4

1 回答 1

2

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

这正是微软实现 C++ 标准库的方式,他们想在其中使用一些<cmath>函数,因此需要将其包含在头文件中。

我建议你阅读这篇文章

于 2014-01-23T14:50:40.373 回答