Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么编译器允许我调用pow和sqrt,即使我没有';不包括cmath?_C++_Cmath - Fatal编程技术网

C++ 为什么编译器允许我调用pow和sqrt,即使我没有';不包括cmath?

C++ 为什么编译器允许我调用pow和sqrt,即使我没有';不包括cmath?,c++,cmath,C++,Cmath,我认为答案应该是否定的,但我今天编写了一些代码,这些代码编译得非常完美,并使用pow和sqrt显示了正确的答案,尽管一开始我忘了添加 #包括 这里缺少什么?标题仅包含函数声明;您可以在不使用头的情况下完美地声明函数,它也可以正常工作 在您不知道的情况下,该头文件可能包含在您使用的其他头文件中 隐式声明,即使用函数而不声明它,在C++中是非法的。 < P>头只包含函数声明;您可以在不使用头的情况下完美地声明函数,它也可以正常工作 在您不知道的情况下,该头文件可能包含在您使用的其他头文件中 一个隐式

我认为答案应该是否定的,但我今天编写了一些代码,这些代码编译得非常完美,并使用pow和sqrt显示了正确的答案,尽管一开始我忘了添加
#包括

这里缺少什么?

标题仅包含函数声明;您可以在不使用头的情况下完美地声明函数,它也可以正常工作

在您不知道的情况下,该头文件可能包含在您使用的其他头文件中


隐式声明,即使用函数而不声明它,在C++中是非法的。

< P>头只包含函数声明;您可以在不使用头的情况下完美地声明函数,它也可以正常工作

在您不知道的情况下,该头文件可能包含在您使用的其他头文件中

一个隐式声明,即使用函数而不声明它,在C++中是非法的。

< P>最可能的是,你<代码> >包含< /代码>其他头文件,而最终的代码< >代码>包含< /代码> d代码> cMadie<代码>或<代码>数学> h < /代码>。强> >编辑< /强>回答你的问题:<代码>包含< /COD>可能已经完成了,这取决于C++标准库。标准并不能保证这一点

但是,如果您只是为自己声明函数,那么您也可以使用它们。尽管为自己在
std
命名空间中声明函数不符合标准,因此不能推荐。

最有可能的情况是,您
#包括
d其他头文件,这些头文件最终包括d
cmath
math
<强> >编辑< /强>回答你的问题:<代码>包含< /COD>可能已经完成了,这取决于C++标准库。标准并不能保证这一点


但是,如果您只是为自己声明函数,那么您也可以使用它们。尽管为自己在
std
命名空间中声明函数不符合标准,因此不能推荐。

因为它可能已经包含在项目中包含的其他标准标题中。感谢您的快速回答。我只包括了iostream。这样做可以吗?因为它可能已经包含在项目中的其他标准标题中。谢谢您的快速回答。我只包括了iostream。这样行吗?谢谢。我知道我应该声明他们是安全的。我只是想知道为什么它会接受他们。再次感谢,谢谢。我知道我应该声明他们是安全的。我只是想知道为什么它会接受他们。再次感谢