warning: deleting 'void *' is undefined 錯誤


如果我們new出來的指針是一個基本類型,沒什么關系,內存還是會被釋放的,但是如果是一個類對象指針,在處理過程中轉成了void*,那就有問題了,析構函數將不會被調用。
故new的指針類型要和delete的指針類型要保持一致。

如下所示:

object* p=new object[10];

void* p2=(void *)p;

//注意指針轉換

delete[] (object*) p;




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM