I am currently working on making a "vector" class.
template <typename T>
class Vectors{
private:
int size_;
public:
int size_;
T *elements;
Vector(){
size_=0;
T *elements=new T[size_];
}
Vector(int size){
size_=size;
T *elements=new T[size_];
}
void push_back(T amaze){
//make new temporary pointer;
T *Temp=new T[size_+1];
size_=size_+1;
for(int i=0;i<size_-1;i++)
{
*(Temp+i)=*(elements+i);
}
delete[] elements; //Error occurs here
elements=NULL;
elements=Temp;
*(elements+size_-1)=amaze;
}
}
After running the debugger, I found out that there is a trace/breakpoints trap when the program reaches delete[] elements.
Why is this error occurring?