Which version? Probably 4.9.something?
It looks like your compiler is still having trouble figuring out what tolower is.
Code:
18 C:\Users\Fredrik\Desktop\main.cpp no matching function for call to `transform(
...::__normal_iterator<..., std::basic_string<...> >,
...::__normal_iterator<..., std::basic_string<...> >,
std::back_insert_iterator<std::string>,
<unknown type>)'
So perhaps your tolower() is implemented as a macro or something. I'd suggest looking at <cctype> or going
to see if that is the case. If it is, you'll have to add a wrapper around tolower() as suggested.
Code:
int func_tolower(int c) { return tolower(c); }
transform(str.begin(), str.end(), back_inserter(x), func_tolower);