Путаница в пространстве имен C ++ - std :: vs :: vs нет префикса при вызове tolower?

Почему это?

transform (theWord.begin (), theWord.end (), theWord.begin (), std :: tolower); - не Работа преобразование (theWord.begin (), theWord.end (), theWord.begin (), tolower); - не работает

, но

преобразовывает (theWord.begin (), theWord. end (), theWord.begin (), :: tolower); - действительно работает

Слово является строкой. Я использую пространство имен std;

Почему оно работает с префиксом :: , а не с std :: или ни с чем?

спасибо за ваша помощь.

5
задан agf 29 September 2011 в 14:54
поделиться