аргументами: template
Автор admin
Вторник, 19 мая 2009 11:32
аргументами: template charT toupper(charT с. const locale& loc); template charT tolower(charT c. const locale& loc): Эти шаблоны функций получают второй аргумент типа locale. Компилятор не может определить, какую версию tolower() он должен использовать — с одним аргументом, определенную в , или приведенную выше. Проблема (почти) решается преобразованием типа в вызове tranform (вспомните, что tolower() и toupper() работают с int вместо char): transform(s.begi n(),s.end().s.begin() static_cast(tolower)); Преобразование типа однозначно указывает, что в программе должна использоваться версия tolower() с одним аргументом. На некоторых компиляторах такое решение работает, но это без гарантии. Дело в том, что для функций, унаследованных из языка С, реализации библиотеки позволено задействовать «компоновку С» (то есть не включать в имена функций дополнительную информацию, характерную для имен функций С++1). В этом случае попытка преобразования завер- В частности, информацию о типах, закодированную в «украшенных» именах функций. Шаблоны функций 203 шается неуд
Теги: net
Комментарии закрыты.
Автор admin Вторник, 19 мая 2009 11:32
аргументами: template
Комментарии закрыты.
Последние комментарии