Если вы перейдете к принятому ответу этого сообщения
Может кто-нибудь прокомментировать, почему он использует:
double temp = ::atof(num.c_str());
а не просто
double temp = atof(num.c_str());
Также, считается хорошей практикой использовать этот синтаксис, когда вы используете "чистые" глобальные функции?