[英]C++ Class with Rcpp::Function member
使用Rcpp,我希望能够创建一个具有Rcpp::Function
字段的C ++类。 例如:
class myClass{
Rcpp::Function myR_fun;
myClass(Rcpp::Function userR_fun){
myR_fun = userR_fun;
}
};
不幸的是,以上代码无法正常工作。 编译时,报告以下错误:
error: constructor for 'myClass' must explicitly initialize the member 'myR_fun'
which does not have a default constructor
myClass(Rcpp::Function userR_fun){
^
错误报告有点令人困惑,因为我想我已经在myClass
的构造函数中初始化了myR_fun
?
我可以使用的解决方法是使用空指针
class myClass{
void* vFunPtr;
myClass(Rcpp::Function userR_fun){
vFunPtr = &userR_fun;
}
};
但是从组织的角度来看,这似乎不是最理想的。 使Rcpp::Function
对象成为C ++类的字段的正确方法是什么?
使用您的语法, myR_fun
首先是默认构造的,然后分配了userR_fun
。
尝试以下方法:
class myClass {
Rcpp::Function myR_fun;
myClass(Rcpp::Function userR_fun)
: myR_fun(userR_fun)
{}
};
使用此语法myR_fun
使用直接构造userR_fun
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.