c++ - Unable to free memory for a given Maya type -


in c++, can reserve memory , delete memory, like:

float *myfloat; myfloat = new float[10]; delete myfloat;  --> works fine 

however if type not float * mtransformationmatrix * (maya type), unable delete:

mtransformationmatrix *mytransformationmatrixes; mytransformationmatrixes = new mtransformationmatrix[10]; delete mytransformationmatrixes;   --> crash 

is there need special types in order free memory ?

both of these allocated objects arrays, should use delete[] syntax delete them:

float *myfloat = new float[10]; delete[] myfloat;  mtransformationmatrix *mytransformationmatrixes; mytransformationmatrixes = new mtransformationmatrix[10]; delete[] mytransformationmatrixes; 

both of examples invoke undefined behavior, lucky first 1 did not cause visible harm.


Comments