В приведенном ниже коде я определяю тривиальную функцию log
. В main
я стараюсь не называть его; Я звоню std::log
. Тем не менее, мой собственный log
называется; и я вижу "log!" на экране. Кто-нибудь знает, почему? Я использую g++ 4.7 и clang++ 3.2.
#include <iostream>
#include <cmath>
double log(const double x) { std::cout << "log!\n"; return x; }
int main(int argc, char *argv[])
{
std::log(3.14);
return 0;
}