Привет
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.
И что теперь делать?