Форум » C/C++ » Баг MS VC++ 2010: некорректный тип возвращаемого значения в алгоритме std::fill_n » Ответить

Баг MS VC++ 2010: некорректный тип возвращаемого значения в алгоритме std::fill_n

Сыроежка: Один из самых неприятных багов MS VC++ 2010 относительно стандартных алгоритмов состоит в том, что алгоритм std::fill_n вместо типа возвращаемого значения равного типу выходного итератора, указанного в первом параметре алгоритма, имеет тип void. То есть в MS VC++ 2010 алгоритм std::fill_n объявлен как [pre2] template<class OutputIterator, class Size, class T> void fill_n(OutputIterator first, Size n, const T& value); [/pre2] вместо правильного объявления [pre2] template<class OutputIterator, class Size, class T> OutputIterator fill_n(OutputIterator first, Size n, const T& value); [/pre2] В результате этот алгоритм нельзя связывать в цепочку вызовов алгоритмов совместно с другими алгоритмами.

Ответов - 0



полная версия страницы