我是使用R包“Rcpp”的新手。我的问题是,如果我想在另一个C++函数中使用C++函数作为参数,我该怎么做?例如:假设我有一个这样的C++函数:在R包中的另一个C++函数中使用C++函数“Rcpp”
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
double maxllC3(const double mu){
double result;
result= R::dgamma(mu,0.1,1,0.1);
return result;
}
。我想在另一个C++函数中使用这个函数,就像我们可以在R中这样做:
sumf<-function(maxllC3,mu,y){
res<-maxllC3(mu)+y
return(res)
}
。我怎么能在“Rcpp”包中做到这一点?
我不明白为什么第一个函数需要作为参数传递给第二个传递功能。 – Roland
@罗兰嗨罗兰,这只是一个例子。我将把这个应用于很复杂的例子。 – gultu
因此,从R调用第二个函数时,用户应该将C++函数作为参数传递?这很不寻常。我怀疑[xy问题](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – Roland