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; SEXP out = R_MakeExternalPtr(temp, R_NilValue, R_NilValue); return out; The following is how I try to retrieve the class object in a different C++ function called "soamSubmit", where sesCon is the externalPtr : void* temp = R_ExternalPtrAddr(sesCon); Session* sesPtr = reinterpret_cast<Session*>(temp); The error I get when trying to run the R function is : *** caught segfault *** address 0x3, cause 'memory not mapped' Traceback: 1: .Call("soamSubmit", counter, sesCon, final.script, packages) 2: soam.Rapply(x, tester, join.method = c, njobs = 2) So it seems like a scoping problem to me, though I'm unsure how to solve it. -Jon -- View this message in context: http://www.nabble.com/Using-R_MakeExternalPtr-tf4142904.html#a11785023 Sent from the R devel mailing list archive at Nabble.com. ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel