Coverity指出了一個關於刪除void指針的錯誤。代碼如下:刪除void指針的覆蓋問題
void *pbits=(void *)new char[((bmp.bmWidth*bitspixel+31)/32)*bmp.bmHeight*4];
result=GetDIBits(pDC->GetSafeHdc(),HBITMAP(*pbitmap),0,bmp.bmHeight,pbits,bitmapinfo,DIB_RGB_COLORS);
char curdir[100];
if(!GetCurrentDirectory(100,curdir))
{
delete [] pbits;
return;
}
你能幫我什麼是不正確的,我該如何解決它?
非常感謝
問候
Chintan
不知道爲什麼我們必須猜測它產生的警告。很高的可能性,你在void *上使用delete []並不太高興。所以只是不要使用void *,char *也可以很好地工作。 –
@HansPassant謝謝Hans,Cheers –