R의 C++ 개체를 다시 C++로 내보내는 방법은 무엇입니까?
문제
아래 예에서는 다음을 사용하여 일부 일반 C++ 메서드를 R로 내보내는 데 어려움이 없습니다. RCPP_MODULE
방법을 제외하고 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++ 클래스를 참조할 수 있도록 메서드를 사용합니까?
해결책
다음은 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)
;
};
. 다른 팁
클론이라는 RCPP 메서드가 있으므로 이름을 바꾸어보십시오.
제휴하지 않습니다 StackOverflow