我想将页面内容复制到另一个 Page 对象。但是它有错误,我认为它与内存分配有关。具体原因我没有找到。有人解释一下原因吗?我附上了应对对象的源代码部分。感谢
DB.Pages = new Page[numPages];
Page* tmp_Pages = new Page[numPages];
uint count = 0;
for(uint p = 0;p < numPages; p++){
uint *data = new uint[MAX_NUM_NODES_PER_DATA];
uint *tmp_data = DB.getPageByID(p)->data;
memcpy(data, tmp_data, sizeof(uint) * MAX_NUM_DATAS_PER_PAGE);
tmp_Pages[count].data = data;
count++;
}
memcpy(DB.Pages, tmp_Pages, sizeof(Page) * numPages);
mlock.c 文件错误点 void __cdecl _unlock (int locknum) { /* * 离开临界区。*/ LeaveCriticalSection(_locktable[locknum].lock); } Microsoft C++ 异常:std::bad_alloc(内存位置 0x002afa90)