, но это не может разрешить перегрузку, если вы делаете.
робовал код из этого вопросаC ++ std :: transform () и toupper () .. почему это не получается?
#include <iostream>
#include <algorithm>
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<char*, std::basic_string
<char, std::char_traits<char>, std::allocator<char> > >,
__gnu_cxx::__normal_iterator<char*, std::basic_string
<char, std::char_traits<char>, std::allocator<char> > >,
std::back_insert_iterator<std::basic_string
<char, std::char_traits<char>, std::allocator<char> > >,
<unresolved overloaded function type>)’
Я что-то здесь упускаю? Это проблема, связанная с GCC?