Как исправить ошибку недопустимого итератора при использовании конвейера представлений и диапазонов смежных_находок в С+C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Как исправить ошибку недопустимого итератора при использовании конвейера представлений и диапазонов смежных_находок в С+

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


I'm trying to check if all values in nested vector are same/unique. I wrote this program (simplified, but same error):

godbolt link

#include #include #include #include auto main() -> int { std::vector vectors_of_ints { {1, 2, 3}, {4, 5, 6} }; auto get_vectors = [](const std::vector& v) { return v; }; auto get_ints = [](const int& i) { return i; }; auto all_ints = vectors_of_ints | std::views::transform(get_vectors) | std::views::join | std::views::transform(get_ints); auto status = std::ranges::adjacent_find(all_ints, std::not_equal_to{}) != std::ranges::end(all_ints); return status; } but I'm getting this error:

:22:44: error: no match for call to '(const std::ranges::__adjacent_find_fn) (std::ranges::transform_view&, std::not_equal_to)' 22 | std::cout

Источник: https://stackoverflow.com/questions/781 ... s-adjacent
Ответить

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

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

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

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

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