[Rd] Using R_MakeExternalPtr

Seth Falcon sfalcon at fhcrc.org
Wed Jul 25 18:01:18 CEST 2007

Jonathan Zhou <jonathan.zhou at utoronto.ca> writes:

> Hi all, 
> I've been writing a package and I've run into a problem that I'm unsure how
> to solve.  I am looking to pass a C++ class object to R so that it may be
> passed back to another C++ function later on to be used.  I'm quite new to R
> and this is my first time writing a package, so I hope you can bear with me.  
> The following is how I create the class and use R_MakeExternalPtr().  This
> occurs in a function called "soamInit": 
>     Session* sesPtr = conPtr->createSession(attributes);
>     void* temp = session;

It isn't clear from your example, are you sure that temp is valid at
this point?

>     SEXP out = R_MakeExternalPtr(temp, R_NilValue, R_NilValue);

I was expecting to see:

      SEXP out = R_MakeExternalPtr((void *)sesPtr, R_NilValue, R_NilValue);

+ seth

Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center

More information about the R-devel mailing list