通知            
            
                すべてクリア
            
        
	                                     Topic starter
                    2005年5月4日 8:43 AM  
		                                	            
	            OS XP VC++6.0
void Cxxxx::aaaa()
{  
    Cyyyy *wpoint =  new Cyyyy [1000] ;
    delete wpoint ;
}
delete で以下の中止/無視/継続ウインドウが出て、落ちるんですが、
どのようにデバッグしたらよいか、どなたか、アドバイスいただけませんでしょうか?
Debug Assertion Failed!
Program: C\work\xxxx.exe
File: dgbheap.c
Line: 1044
Expression: _CrtIsValidHeapPointer(pUserData)
For information on how your program can cause an assertion failure,
 see the Visual C++ documentation on asserts.
	                                                        2005年5月4日 9:42 AM  
		                                	            
	            配列wpointの領域がきちんと解放されていないことが原因と思われます。
まずは、newで動的に確保した配列の領域はどのように解放すれば良いのか、C++言語の
参考書などでお調べになることをお勧めします。
対象が「配列」であることに注意してください。
	                                     Topic starter
                    2005年5月4日 10:24 AM  
		                                	            
	            iijima さんありがとうございます。
delete[]演算子を発見しました。
new に対してdelete
new[] に対してdelete[]
ということですね。
void Cxxxx::aaaa()
{  
    Cyyyy *wpoint =  new Cyyyy [1000] ;
    delete[] wpoint ; // delete -> delete[] に変更
}

 
  
  
  
  