我刚刚意识到我应该包括 #include<cstdlib>
abs()
要求对于 abs()
功能。
#include<iostream>
using namespace std;
int main()
{
int result;
result = abs(-10);
cout << result << "\n";
return 0;
}
为什么即使我忘记了重要的 header (#include<cstdlib>
),这段代码仍然有效?
最佳答案
那是因为 iostream
间接包含了 abs()
的定义。它是标准允许的,但不应依赖它,因为它依赖于实现(即您的代码可能无法在其他一些编译器上编译)。
关于C++ 代码运行时缺少 header ,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1951735/