繁体   English   中英

具有Rcpp :: Function成员的C ++类

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM