Я не могу создать вектор, используя итераторы для представления, которое использует take_ while при построении.C++

Программы на C++. Форум разработчиков
Гость
Я не могу создать вектор, используя итераторы для представления, которое использует take_ while при построении.

Сообщение Гость »

Я столкнулся с этой проблемой при попытке создать функцию powerset с использованием библиотеки std::views.

Код: Выделить всё

auto set = sv::repeat(0)
| sv::take_while([&mask](...) { return mask > 0; })
| sv::transform([s, &mask, idx = 0](...) mutable {
return idx = std::countr_zero(mask & ~(mask - 1)), mask &= mask - 1, s[idx]; });
auto vec = std::vector(set.begin(), set.end());
^__________ ^______________________
"*cannot deduce types*"   "*no constructor found*" 

Подробнее здесь: [url]https://stackoverflow.com/questions/78158045/i-am-unable-to-construct-a-vector-using-a-iterators-over-a-view-that-uses-take-w[/url]

Вернуться в «C++»