ачей, поскольку transform как
Автор admin
Вторник, 19 мая 2009 11:32
ачей, поскольку transform как шаблон функции С++ предполагает, что четвертый аргумент использует компоновку С++, а преобразование типа не может изменять тип компоновки. Проблема решается вызовами tolower() в однозначном контексте. Например, вы можете написать функцию strTolower() и поместить ее в отдельный файл без включения заголовка : //: C05:StrTolower.cpp {0} {-mwcc} #include #include #include using namespace std; string strTolowerCstring s) { transform(s.beginO. s.endO. s.beginO. tolower); return s; } ///:- Файл не включает заголовочный файл , поэтому компилятор в этом контексте не включает двухаргументную версию tolower()\ и проблем не возникает. Далее новая функция используется обычным образом: //: С05:Tolower.срр {-mwcc} //{L} StrTolower #include #include #include #include using namespace std: string strTolowerCstring); int mainO { string s(“LOWER”): cout « strTolower(s) « endl: } III:- В другом решении создается функция-оболочка, которая явно вызывает правильную версию tolower(): //: C05:ToLower2.cpp {-mw
Комментарии закрыты.
Последние комментарии