template <typename T>
void wektor<T>::resize(int newSize)
{
T * newTab = new T[newSize];
length = newSize < length ? newSize : length;
for(int i = 0; i < length; i++)
newTab[i] = tab[i];
if(tab)
delete [] tab;
tab = newTab;
length = newSize;
if(last > length)
last = length;
}
Coś chyba przy usuwaniu tab się wali. To się znajduje w klasie. last = to jeden element za tym, który jest ostatni dostępny. length to cały rozmiar tablicy. tab to ta tablica. Konstruktor to po prostu:
last = length = 0; tab = NULL; resize(10);
Nie rozumiem dlaczego ten kod nie działa. Dokładniej to przy wywołaniu:
resize(length+1);