簡體   English   中英

如何使用 range-v3 的范圍::actions::transform?

[英]How to use range-v3's ranges::actions::transform?

我想使用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

range-v3中,您只需執行

arr |= ranges::actions::transform(fn);

這是一個演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM