Realloc:无效的旧大小



我在这个错误上发现了许多线程,但一直无法找到适合我的解决方案。我正试图从一个PGM图像读取数据,并把它变成一个矩阵。我的问题是,内存的重新分配失败的错误realloc: invalid old size。下面是代码的摘录,展示了如何完成重新分配。

typedef struct num_matrix {
   int ** data;
   int rows;
   int cols;
} matrix;
[in loadPGMImageFromFilename]
matrix m;
m.data = (int**)malloc(0*sizeof(int));
loadPGMImageData(m);
[in void loadPGMImageData(matrix &m)]
ss >> m.rows >> m.cols; // <- sets rows and cols, seems to work
allocateMatrixMemory(m);
void allocateMatrixMemory(matrix &m) {
   int** temp = (int**) realloc(m.data, m.rows*sizeof(int)); // <- ERROR
   //more stuff
}

在我的脑海里,在这行之后-> m.c data = (int**)malloc(0*sizeof(int));M.data为空。

相关内容

  • 没有找到相关文章

最新更新