关于数组的动态分配内存问题
----------------------------
开发环境:vs2008
物理内存:2GB
----------------------------
- C/C++ code
double *tempDoubleArray = new double[cnFeatrueNumber * cnFeatureDimension];ZeroMemory(tempDoubleArray, sizeof(double) * cnFeatrueNumber * cnFeatureDimension);//把vector<vector<double>> featureVector中的内容复制给数组for(int i = 0; i < cnFeatrueNumber; ++i) for(int j = 0; j < cnFeatureDimension; ++j) tempDoubleArray[i*cnFeatrueNumber+j] = featureVector[i][j];
----------------------------
调试了下,cnFeatrueNumber是272,cnFeatureDimension是128,动态分配内存和赋值0都没问题,把vector<vector<double>> featureVector中的内容复制给数组tempDoubleArray却错了,请问这是什么问题啊?难道是堆栈大小不够了吗?
[解决办法]
tempDoubleArray[i*cnFeatrueNumber+j] = featureVector[i][j];
改成
tempDoubleArray[i*cnFeatureDimension+j] = featureVector[i][j];