[英]How to delete 2D Array after its modified by a function?
所以,我做了一個看起來像這樣的函數:
const char **myFunction(char *string)
{
char *bufCopy = new char[strlen(string)];
strcpy(bufCopy,string);
char *tmp = func1(bufCopy);
const char **RetVector = new const char* [6];
RetVector[0] = tmp;
return RetVector;
}
func1(即strtok)修改了第一個參數,因此當我delete []時,它使我堆損壞。 我能做什么?
您必須始終跟蹤bufCopy
的原始分配,只有該原始分配才能被delete
d。 tmp
可能僅指向它的一部分(在緩沖區內某處),因此您無法delete
它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.