Поскольку это функция-член, а for_each
хочет получить объект функции, который принимает один параметр.
Вам нужно написать свою собственную функцию:
void print_to_stdout(int i)
{
std::cout << i;
}
std::for_each(my_ints.begin(), my_ints.end(), print_to_stdout);
Другой альтернативой является смешивание std::mem_fun
и std::bind1st
(или любой из лучших альтернатив C ++ 0x / boost) для генерации этой функции.
Но лучше всего было бы использовать std::copy
с std::ostream_iterator
:
std::copy(my_ints.begin(), my_ints.end(), std::ostream_iterator<int>(std::cout));