Hi all,
I have a templated function which, when used with bind2nd, receives an error message of "no matching function for call to de_tolower()".
Here's the relevant code:
Why isn't the compiler properly calling de_tolower?Code:... template <typename T> void de_tolower(char& ch, const ctype<T>& ct) { ch = ct.tolower(ch); } int main(int argc, char* argv[]) { locale loc_de("de_DE.utf8"); const ctype<char>& ct_de = use_facet<ctype<char> >(loc_de); string str_de, str_en; ...... //Error occurs in next line. for_each(str_de.begin(), str_de.end(), bind2nd(de_tolower(), ct_de)); f_de_out << str_de << endl; .....



LinkBack URL
About LinkBacks


