Я пробовал код из этого вопроса C ++ std :: transform () и toupper () .. почему это не удается?
#include
#include
int main() {
std::string s="hello";
std::string out;
std::transform(s.begin(), s.end(), std::back_inserter(out), std::toupper);
std::cout << "hello in upper case: " << out << std::endl;
}
Теоретически все должно было работать так же примеров из книги Джосуттиса, но он не компилируется http://ideone.com/aYnfv .
Почему GCC жаловался:
no matching function for call to ‘transform(
__gnu_cxx::__normal_iterator, std::allocator > >,
__gnu_cxx::__normal_iterator, std::allocator > >,
std::back_insert_iterator, std::allocator > >,
)’
Я что-то здесь упускаю? Это проблема, связанная с GCC?