#include <iostream>
#include <cmath>
/* Intentionally incorrect abs() which seems to override std::abs() */
int abs(int a) {
return a > 0? -a : a;
}
int main() {
int a = abs(-5);
int b = std::abs(-5);
std::cout<< a << std::endl << b << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我期望输出将是-5和5,但输出是-5和-5.
我想知道为什么会发生这种情况?
它与使用std或什么有关?