Разрешение имени функции алгоритма STL - PullRequest
17 голосов
/ 19 мая 2011

Я ожидаю, что в приведенном ниже примере компилятор не сможет скомпилировать код, так как не знает, что такое "find ()", который определен в std пространстве имен в алгоритме заголовке.

Однако этот код компилируется на RHEL 5.3 с gcc 4.1.2.

Что мне не хватает?

* * 1010

1 Ответ

27 голосов
/ 19 мая 2011

Это работает из-за зависимого от аргумента поиска. Функция-шаблон ищется в пространстве имен типов аргументов. В этом случае аргументы std::string::iterator, поэтому функция ищется в пространстве имен std.

...