[Rcpp-devel] wrap returned pointer to class

Sebastian Weber sebastian.weber at frias.uni-freiburg.de
Mon Aug 1 18:07:00 CEST 2011


Hi,

first of all thank you, Dirk and Romain, so much for this great library! I was stunned when I saw the examples.

Hence, I started immediately a quite involved project which interfaces another library to R via C++. Currently I have the problem that I want to expose a function from a class which returns a pointer to a class. When exposing via the

class_<A>.method("fun", &A::fun);

mechanism, the compiler fails with a message saying that he cannot wrap the return type of function fun. The returned object itself is a pointer to another class B. How to solve this? I tried providing the wrap call with no success.

Here is some code which might not work, but explains more detailed:

class B {};

class A {
public:
	B* fun();
};

which gives, when compiled:

/Library/Frameworks/R.framework/Versions/2.13/Resources/library/Rcpp/include/Rcpp/internal/wrap.h:428: error: cannot convert ‘B* const’ to ‘SEXPREC*’ in initialization

Any ideas how to fix this?

Thanks,

PS: Is there some bug tracking tool? I got some weird problem when the function wrapped expects a char as input. I fixed it somehow, but I am not sure if it is the right way...

-- 
Sebastian Weber
Group of Cell Communication and Control
Freiburg Institute for Advanced Studies - FRIAS
School of Life Sciences - LIFENET
Albert-Ludwigs-Universität Freiburg
Albertstr. 19
79104 Freiburg
T.: +49-761-203-97237
Fax:+49-761-203-97334



More information about the Rcpp-devel mailing list