Я считаю, что проблема в том, что вы назвали параметр vector
:
void ConvertToLower (vector<string> &vector)
{
for (vector<string>::iterator iter = vector.begin(); /* ... */
Следовательно, компилятор обрабатывает строку
vector<string>::iterator
как
((vector < string) > (::iterator))
То есть выражение, сравнивающее vector
с string
и результат с ::iterator
.
Чтобы исправить это, попробуйте переименовать параметр в функцию, чтобыне назовите параметр vector
.Кроме того, вы можете полностью квалифицировать тип std::vector
, чтобы явно указать, что вы создаете std::vector<string>::iterator
, а не делать какое-либо выражение, включающее параметр vector
.
Надеюсь, это поможет!