2014-01-23 61 views
0

我是C++初學者,今天寫了Hello World。Visual Studio自動包含cmath?

#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

沒有自動包含行爲..通過包括<iostream>你是間接包括<cmath>

這只是Microsoft實現C++標準庫的方式,他們想使用一些<cmath>函數,因此需要將它們包含在頭文件中。

我建議你閱讀這個article

+0

謝謝,但如果我只是想使用C++標準庫而沒有它們的實現呢?我可以禁用它嗎? – user3228180