Использование Rcpp, я хотел бы иметь возможность создать класс C++, который имеет поле Rcpp::Function
для поля. Например:C++ Class с Rcpp :: Function member
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){
^
Отчет об ошибке немного сбивает с толку, потому что я думаю, что я инициализируется myR_fun
в конструкторе myClass
?
Обходной я мог бы использовать, чтобы иметь пустой указатель
class myClass{
void* vFunPtr;
myClass(Rcpp::Function userR_fun){
vFunPtr = &userR_fun;
}
};
, но это, кажется неоптимальным с организационной точки зрения. Каков правильный способ сделать объект Rcpp::Function
полем класса C++?
Это будет «er! Благодаря! –