Witam,
mam klasę która ma alokować obiekty zadanego typu przez template
na początku jako składową deklaruje sobie tablice values[1] oraz wskaźnik i licznik
template <typename T>
class allc{
private:
T values[1];
T *pointer;
int size;
...
w konstruktorze do pointera przypisuje adres tablicy wrzucam w metodzie push zmienną int (taki jest zadany typ), a później chce zrobić resize tablicy i tu jest problem..
deklaruje
void resize(){
//size ma 2 | T jest typowane na int
T* w = new T[this->size]; // pokazuje, że w wskazuje na jedną zmienną typu int powinien na tablice a do tego jeśli w miejsce this->size nie wstawie normalnej liczby to czepia się, że rozmiar nie jest zadeklarowany
for(int i=0;i <this->size; i++) w[i] = this->pointer[i];
delete[] this->pointer;
this->pointer = w;
}
zwalnianie pamięci to wg jakaś porażka w tym wypadku, bo się całkiem wywala,
ale nie wiem jak mam dokładnie rozszerzyć tą tablice, bo kiedy zdefiniuje sobie ją w metodzie
to po wykonaniu się funkcji pamięć chyba sama się zwolni i wtedy przypisanie do pointera nie ma sensu
gdyby ktoś mógł mi pomóc jak to zrobić..
Nie mogę korzystać z biblioteki STL