2
嗨我有刪除對象數組的問題。 每當我開始我的代碼,它工作得很好,但當我關閉, 我收到錯誤:0xC0000005:訪問衝突讀取位置0xcccccccc。代碼如下所示:無法刪除對象數組C++
我初始化一個對象的實例,並立即創建一個空的數組。
Class* classObject[15];
之後,我在for循環中定義了空數組。
for(int i = 0; i < 15; i++){
classObject[i] = new Class();
}
當應用程序關閉時,下面的代碼應該刪除內存不足的數組。
for(int i = 0; i < 15; i++){
delete classObject[i];
}
而不是成功關閉,我得到訪問衝突錯誤。 我該如何解決這個問題,並在哪裏? 另外,有沒有其他方法可以在for循環中創建對象?
你是否已經釋放了這些指針?或者將它們設置爲NULL或否則更改指針?使用智能指針(如['std :: shared_ptr'](http://en.cppreference.com/w/cpp/memory/shared_ptr))_might_可以緩解這個問題。 –
對於這樣的問題,最好能提供一個演示行爲的完整示例。請參閱http://sscce.org –
您可能會通過一些較早的操作損壞空閒空間舞臺。另一種可能是你在'Class'的析構函數中做了一些壞事。 –