arrays - Invalid object access c++ -


i trying run code stroustroup's c++ book, there code added not available in book. keep hitting following problem. know there multiple questions here on same error, code different , hence question.

the error

copy(5826,0x7fff76b09300) malloc: * error object 0x7ff6a9404c18: incorrect checksum freed object - object modified after being freed. * set breakpoint in malloc_error_break debug abort trap: 6

#include<stdio.h> #include<iostream>  using namespace std; class vector { private:     double * elem; // elem points array of sz doubles     int sz; public:     vector(int s) {         sz = s;         elem = new double[sz];         (int = 0; i<sz; i++) {             elem[i] = i;         }     }     ~vector() { delete[] elem; } // destructor: release resources     vector(const vector& a); // copy constructor     vector& operator=(const vector& a); // copy assignment     double& operator[](int i);     const double& operator[](int i) const;     int size() const; };   vector::vector(const vector& a) // copy constr uctor {     elem = new double[sz], // allocate space elements         sz = a.sz;     (int = 0; != sz; ++i) // copy elements         elem[i] = a.elem[i]; }   double& vector::operator[](int k) {     return this->elem[k]; }   vector& vector::operator=(const vector& a) // copy assignment {     double* p = new double[a.sz];     (int = 0; != a.sz; ++i)         p[i] = a.elem[i];     delete[] elem; // delete old elements     elem = p;     sz = a.sz;     return *this; }   int main() {     vector v1(10);     vector v2 = v1;     v1[0] = 2;     v2[1] = 3;     cout << v1[0] << "\n";     return 0; } 

your copy constructor should reverse 2 lines, because didn't set value sz yet.

vector::vector(const vector& a) // copy constructor {     elem = new double[sz];     sz = a.sz;     (int i=0; i!=sz; ++i)         elem[i] = a.elem[i]; } 

so do

vector::vector(const vector& a) // copy constructor {     sz = a.sz;     elem = new double[sz];     (int i=0; i!=sz; ++i)         elem[i] = a.elem[i]; } 

Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -