It works fine when I do something like a = b but if I do a = a, I get -1.255 +-67 for all elements in the vector. This is my copy constructor and assignment operator:
VecXd(const VecXd &source){
dimension = source.dimension;
vector = new T[dimension];
for(int i=0; i < dimension; i++)
vector[i] = source.vector[i];
}
VecXd operator=(const VecXd &source){
dimension = source.dimension;
vector = new T[dimension];
for(int i=0; i < dimension; i++)
vector[i] = source.vector[i];
return *this;
}