我有以下的C++代码:
NumericVector testFromontcpp(NumericMatrix z1, NumericMatrix z2, int Nbootstrap){
int dim1 = z1.nrow();
int dim2 = z2.nrow();
int dimension = z1.ncol();
int N = dim1 + dim2;
NumericVector TKeps(Nbootstrap+1);
cout << "toto";
double bb[N][N];
cout << "toto";
return(TKeps);
}
我使用Rcpp包运行它:
sourceCpp("...")
。如果z1.size()
小于500,它可以正常工作。但是对于更大的尺寸,它会崩溃并在第二个“toto”打印之前关闭R。我想知道:
- 我在这里做错了什么吗?
- 还是Rcpp中大小的问题已知?
- 是否有解决方案使我的代码在
z1.size()
>0时运行?
vector<vector<double>>
更好的解决方案。 - Dirk Eddelbuettel