2

在推力排序或过滤调用中使用占位符作为函子时,如何访问成员变量?例如以下

thrust::remove_if(ms.begin(), ms.end(), _1.fInf > global_min)

产生错误 "thrust::detail::functional::actor<thrust::detail::functional::argument<0U>>" has no member "fInf"

我将如何使用 lambda 函数编写它?我有一个带有 operator() 的工作结构函子,我只是在寻找一种更优雅的方式。

4

1 回答 1

2

不幸的是,您不能通过占位符访问参数成员。占位符表达式用于算术。

如果您需要访问参数的成员,则需要使用用户定义的函子。如果您的编译器支持,您也可以使用 lambda 表达式。

于 2012-06-22T17:14:09.787 回答