Я не могу создать вектор, используя итераторы для представления, которое использует 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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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