【发布时间】:2014-01-30 14:16:47
【问题描述】:
我有以下 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 下运行?
谢谢!
【问题讨论】:
-
是的,正如 Matthew 告诉您的那样,您的代码不正确。我现在添加了一个比他的
vector<vector<double> >更好的解决方案。