std::back_insert_iterator::value_type
От: пффф  
Дата: 23.07.23 07:52
Оценка:
Привет

cppreference говорит, что это всегда void, но у std::iterator value_type вполне себе задан как тип value_type контейнера, или чего он там итерирует.

Проблема в таком коде:
template<OutputIterator>
void doSomething(OutputIterator out)
{
    while(...)
    {
        *out++ = ...; //!!!
    }
}


Тут ругается на несоответствие типа. В конкретном случае у меня out это char итератор, а справа std::uint8_t.
Я хотел скастить через OutputIterator::value_type, но у back_insert_iterator это void.

И что теперь делать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.