1

我刚刚意识到我应该包含该功能#include<cstdlib>所需的 by 。abs()abs()

 #include<iostream>
    using namespace std;
    int main()
    {
        int result;
        result = abs(-10);
        cout << result << "\n";
        return 0;

    }

即使我忘记了重要的标题(#include<cstdlib>),为什么这段代码仍然有效?

4

1 回答 1

8

那是因为iostream间接包含abs(). 标准允许,但不应依赖它,因为它依赖于实现(即您的代码可能无法在其他一些编译器上编译)。

于 2009-12-23T09:53:58.653 回答