在下面的示例中,使用RCPP_MODULE
将一些普通的c ++方法导出到R中没有任何困难,除了使编译失败的方法clone
。
struct C
{
void clone(C* other)
{
*this = *other;
}
};
#include <Rcpp.h>
using namespace Rcpp;
RCPP_MODULE(mod){
class_<C>("C")
.method("clone", &C::clone)
;
};
如何导出clone
方法以便我可以引用在R中创建的其他C ++类?
答案 0 :(得分:5)
以下适用于Rcpp的开发版本。请参阅我博客上的this article。
#include <Rcpp.h>
using namespace Rcpp;
RCPP_EXPOSED_CLASS(C)
struct C
{
void clone(const C& other)
{
*this = other;
}
};
RCPP_MODULE(play){
class_<C>("C")
.method("clone", &C::clone)
;
};
答案 1 :(得分:1)
有一个名为clone的Rcpp方法,所以请尝试重命名你的方法。