我正在尝试学习 C++,我正在使用 MS Visual Studio 2019。我有以下代码:
#include <iostream>
int main()
{
std::cout << pow(10, 2);
}
Run Code Online (Sandbox Code Playgroud)
如何在不包含的情况下编译和运行而不会出错cmath?在解决方案中,只有一个包含上述代码的文件。
如何在 C++ 中使用 pow 而不包含 cmath 库
通过包含另一个包含<math.h>标题的标题。
不能保证标准库头文件一般不会包含其他头文件,也不能保证<iostream>不会<cmath>特别包含。也没有保证<iostream>将包含该头文件,因此当使用另一个标准库实现或相同版本的另一个版本时,该程序可能无法编译。
总而言之:永远不要依赖这种传递包含。始终直接包含您所依赖的声明的所有标头,除非传递的包含显式包含(例如,<ios>保证包含<iosfwd>)。您不能使用成功编译来证明您提供了所有必需的直接包含。