R의 C++ 개체를 다시 C++로 내보내는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com//questions/12691710

  •  12-12-2019
  •  | 
  •  

문제

아래 예에서는 다음을 사용하여 일부 일반 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 메서드가 있으므로 이름을 바꾸어보십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top