vector<double> Stock::getReturns(unsigned n){
vector<double> returnSelect;
for (int i=0;i<n;i++)
returnSelect.push_back(returns[i]);
return returnSelect;
}
double Stock::getMeanReturn(unsigned n){
double m=0;
vector<double> vec=getReturns(n);
for (int i=0;i<n;i++){
m+=vec[i];
}
m=m/n;
return m;
};
这些代码vector<double>
完美地工作,但是当我替换vector<double>
为 时NumericVector
,我可以在 Eclipse 中构建代码,但是当我运行它时它崩溃了。NumericVector
似乎是问题所在。
Rcpp::NumericVector Stock::getReturns(unsigned n){
Rcpp::NumericVector returnSelect;
for (int i=0;i<n;i++)
returnSelect.push_back(returns[i]);
return returnSelect;
}
double Stock::getMeanReturn(unsigned n){
double m;
Rcpp::NumericVector vec=getReturns(n);
m=mean(vec);
return m;
};
所以问题是为什么 Eclipse 不能处理NumericVector
?如果不需要,还有其他方法可以使用 Rcpp 糖NumericVector
吗?
谢谢!