C++ Vector.Push_Back Çalışma Anı Hatası
-
Aşağıdaki gibi kodum var:
std::vector <Entity*> entities; (header dosyasında) Sprite* sprite = new Sprite(interfaceManager->GetRenderer(), "data/merhaba.bmp"); Entity* entity = new Entity(10, 10, 48, 48); entity->SetSprite(sprite); entities.push_back(entity);
Derleme yaparken hata yok ama kod çalışınca aşağıdaki hatayı veriyor:
main: malloc.c:2372: sysmalloc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 *(sizeof(size_t))) - 1)) & ~((2 *(sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long) old_end & pagemask) == 0)' failed.
Aborted (core dumped)Nerede hata yapıyorum?
Waze tarafından 16/Kas/15 20:46 tarihinde düzenlenmiştir -
http://stackoverflow.com/questions/2987207/why-do-i-get-a-c-malloc-assertion-failure
Benzer bir hata. Pointer ile elleşmemen gereken bir yere müdahale ediyorsun diyorlar. Bi clean build yapmayı dener misin?
-
NmC bunu yazdı
http://stackoverflow.com/questions/2987207/why-do-i-get-a-c-malloc-assertion-failure
Benzer bir hata. Pointer ile elleşmemen gereken bir yere müdahale ediyorsun diyorlar. Bi clean build yapmayı dener misin?
Evet google'da denk geldim bu soruya da adamın koduyla benimkinin alakası olmadığı için pek kurcalamadım. Clean build derken hocam, C++ da daha çok yeniyim nasıl yapılır o?
Edit: .o dosyalarını silip tekrar derliyorum hocam sanırım buymuş clean build doğru mu?
2. Edit: Vay be, Entity.h 'yi include etmeyi unutmuşum. Bende çok komplike birşey bekliyordum. Bundan sonra hep clean build yapacağım. :P
Teşekkürler hocam.
Waze tarafından 16/Kas/15 21:10 tarihinde düzenlenmiştir -
Waze bunu yazdıNmC bunu yazdı
http://stackoverflow.com/questions/2987207/why-do-i-get-a-c-malloc-assertion-failure
Benzer bir hata. Pointer ile elleşmemen gereken bir yere müdahale ediyorsun diyorlar. Bi clean build yapmayı dener misin?
Evet google'da denk geldim bu soruya da adamın koduyla benimkinin alakası olmadığı için pek kurcalamadım. Clean build derken hocam, C++ da daha çok yeniyim nasıl yapılır o?
Edit: .o dosyalarını silip tekrar derliyorum hocam sanırım buymuş clean build doğru mu?
Evet hocam :) Konsoldan mı çalışıyorsun? Eğer ödev işi falan değilse bence düzgün bi editör kullan. Linux için CodeBlocks windowstaysan Visual Studio gibi. Debug yaparken rahat edersin.
-
NmC bunu yazdıWaze bunu yazdıNmC bunu yazdı
http://stackoverflow.com/questions/2987207/why-do-i-get-a-c-malloc-assertion-failure
Benzer bir hata. Pointer ile elleşmemen gereken bir yere müdahale ediyorsun diyorlar. Bi clean build yapmayı dener misin?
Evet google'da denk geldim bu soruya da adamın koduyla benimkinin alakası olmadığı için pek kurcalamadım. Clean build derken hocam, C++ da daha çok yeniyim nasıl yapılır o?
Edit: .o dosyalarını silip tekrar derliyorum hocam sanırım buymuş clean build doğru mu?
Evet hocam :) Konsoldan mı çalışıyorsun? Eğer ödev işi falan değilse bence düzgün bi editör kullan. Linux için CodeBlocks windowstaysan Visual Studio gibi. Debug yaparken rahat edersin.
IDE kullanmayı sevmiyorum hocam, özellikle de öğrenme aşamasındayken. :D
İkinci edit'te yazdım yukarıda, hata çok basit birşeymiş clean yapınca düzeldi. Tekrar teşekkürler. :)