|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
內存釋放問題。
char *fun()
{
char *a;
a=new char[10];
strcpy(a, 0x00, 10);
return a;
}
main()
{
char *b;
b=new char[10];
b=fun();
delete ?;//怎麼 delete?
} |
內存釋放問題。
各位大哥,這種問題可能影響系統的成敗。請幫幫忙。我的C++基礎不好。 |
內存釋放問題。
char *b;
b=new char[10]; //這裡已分配一次內存
b=fun(); //在這個函數內又分配了一次內存,賦值後b指向新內存,上一句分配的內存無法訪問
所以你這種寫法是錯誤的
正確的應該是
char *a=fun();
delete a; |
內存釋放問題。
delete[] (char *)b; |
內存釋放問題。
無雙大哥說的有理,請關注外面偶一新貼。 |
內存釋放問題。
我的delete寫法是錯誤的
應該照buledragon 的寫
如果是new 數組那麼對應
delete[]
new char[100];
delete[] char |
| |