[英]Rcpp: error when passing a boolean value in a list from R to a C++ function that takes an Rcpp::List
[英]Rcpp - Define a C++ function that takes an R function and an ellipsis argument
我有一个R函数bar
,它带有另一个R函数foo
,定义如下:
foo <- function(x,y) x + y
bar <- function(foo, z, ...) z + foo(...)
对bar
的调用将具有以下形式:
bar(foo, 1,2,3)
现在使用上面定义的foo
,我想创建一个C ++版本的bar
。 这是我尝试过的:
library(Rcpp)
cppFunction(
'
double bar(Function foo, double z, ...) {
return z + foo(...);
}
')
这显然不起作用。 在C ++中定义此函数的正确方法是什么?
谢谢。
在将省略号输入Rcpp之前,可能更容易将省略号转换为列表
bar <- function(foo, z, ...) {
args <- list(...)
bar_internal(foo, z, args)
}
然后你的Rcpp函数可以简单地采用Rcpp::List
而不是省略号。
double bar_internal(Function foo, double z, List args){
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.