Wie exportiere ich ein C++-Objekt in R zurück nach C++?
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?
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