Frage

Im folgenden Beispiel habe ich keine Schwierigkeiten, eine normale C++-Methode mithilfe von in R zu exportieren RCPP_MODULE außer der Methode clone Das führt dazu, dass die Kompilierung fehlgeschlagen ist.

struct C
{
    void clone(C* other)
    {
         *this = *other;
    }
};

#include <Rcpp.h>
using namespace Rcpp;

RCPP_MODULE(mod){
    class_<C>("C")
        .method("clone", &C::clone)
        ;
};

So exportieren Sie die clone Methode, damit ich auf eine andere C++-Klasse verweisen kann, die in R erstellt wurde?

War es hilfreich?

Lösung

Das Folgende funktioniert mit der Entwicklungsversion von Rcpp.Sehen Dieser Artikel auf meinem Blog.

#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)
        ;
};

Andere Tipps

Es gibt eine Rcpp-Methode namens clone, also versuchen Sie, Ihre umzubenennen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top