Я хочу использовать ranges-v3
для преобразования массива на место. Я могу использовать ranges::transform
успешно, но не смог использовать actions::transform
.
int arr[]{1, 2, 3};
auto fn = [](auto e) { return e + 1; };
ranges::transform(arr, std::begin(arr), fn); // ok
arr |= actions::transform(std::begin(arr), fn); // error
Сообщение об ошибке:
fatal error: no matching function for call to object of type 'const ranges::actions::transform_fn'
arg |= actions::transform(std::begin(arr), std::begin(arr),
^~~~~~~~~~~~~~~~~~
Как использовать actions::transform
в таком случае