delete [] - wyrzuca blad

0

Witam
Mam klase oparte na szablonach:

template <class T> 
class vect
{
	T *dat;    
	size_t ndim;  
	size_t last;  

     void realloc(); 
}

jak tablica elementow dat jest przepeniona to wtedy wowoluje sie realloc, któy tworzy wieksza nowa kopiuje i usuwa stara i podmienia wskaźniki ale przy wywolaniu

delete [] dat

wyrzuca mnie z programu i daje takie błedy:
user image
user image

Tablica była alokowana przy wywolaniu konstruktora.

0

jak tablica elementow dat jest przepeniona

Wygląda na to, że rzeczywiście jest przepełniona, w dosłownym tego słowa znaczeniu. Zapisujesz gdzieś poza dopuszczalnym zakresem tablicy, psując stertę.

0

ja bym raczej stawiał na brak definicji konstruktora kopiującego połączone z przekazywaniem obiektu typu vect przez wartość (standardowy błąd początkujących). Niestety autor praktycznie nie pokazał kodu, więc trudno stwierdzić na pewno w czym problem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1