<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
I'm trying to expose 2 classes from a Rcpp module:<br>
<br>
class Portfolio{<br>
private:<br>
std::string portfolioId, description;<br>
public:<br>
Portfolio(std::string portfolioId, std::string description) <br>
: portfolioId(portfolioId), description(description) {} <br>
<br>
std::string getPortfolioId() {return portfolioId;} const<br>
void setPortfolioId(const std::string&)
{this->portfolioId = portfolioId;}<br>
<br>
std::string getDescription() {return description;} const<br>
void setDescription(const std::string&
description){this->description = description;}<br>
};<br>
<br>
class PortfolioDataAccess{<br>
private:<br>
mongo::DBClientConnection c;<br>
<br>
public:<br>
PortfolioDataAccess();<br>
virtual Portfolio read(std::string portfolioId);<br>
virtual void create(std::string portfolioId, std::string
description);<br>
<br>
};<br>
<br>
<br>
<br>
<br>
RCPP_MODULE(riskceteraPortfolio) {<br>
class_<riskcetera::Portfolio>( "Portfolio" )<br>
.constructor<std::string, std::string>()<br>
.method("id", &riskcetera::Portfolio::getPortfolioId)<br>
.method("description", &riskcetera::Portfolio::getDescription)<br>
;<br>
<br>
class_<riskcetera::PortfolioDataAccess>("PortfolioAccess")<br>
.constructor()<br>
.method("read", &riskcetera::PortfolioDataAccess::read)<br>
;<br>
} <br>
<br>
When trying to compile the module I get the following error:<br>
<br>
<pre style="width: 100%;" class="GNVMTOMCABB ace_text-layer ace_line GNVMTOMCET" tabindex="0"><big><tt><span class="GNVMTOMCABB">/riskcetera/home/aludin/R/x86_64-pc-linux-gnu-library/3.0/Rcpp/include/Rcpp/internal/wrap.h:474:7: error: no viable conversion from 'const riskcetera::Portfolio' to 'SEXP' (aka 'SEXPREC *')
</span><span class="GNVMTOMCABB"> SEXP x = object ; </span></tt></big></pre>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>