1

在下面的示例中,除了导致编译失败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++ 类?

4

2 回答 2

5

以下适用于 Rcpp 的开发版本。请参阅我博客上的这篇文章。

#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)
        ;
};
于 2012-10-29T10:07:13.460 回答
1

有一个称为克隆的 Rcpp 方法,因此请尝试重命名您的方法。

于 2012-10-02T14:21:53.303 回答