some hvis der ikke er defineret andet laver en bit-vis kopiering af resize_arr over i _out, men da _out ikke er resized så fejler det da der kopieres det antal der er i resize_arr men det antal der er i _out som er en for lidt.
Hvad er formålet med:: ptr1 = &_out[i]; ptr2 = &resize_arr[i]; ptr2 = ptr1; Den gør ikke noget???
Hvis den skulle have kopieret skulle det have været *ptr2=*ptr1; men så kunne man lige så godt have skrevet resize_arr[i]=_out[i]; istedet???
JEg tror jeg ville have skrevet det om til::
void CGasMatlab::AddOutput(std::string Line) { // Make new element GasMatlabOut out; out->stationName = this->GetStationName(Line); out->tagName = this->GetTagName(Line);
this->_gasMatlabOut = this->_gasMatlabOut+1; GasMatlabOut *resize_arr = new GasMatlabOut[this->_gasMatlabOut];
for(int i = 0; i < this->_gasMatlabOut; i++) { resize_arr[i] = _out[i]; }
// delete old data delete[] _old; // if its allocated with new else that is a bug too. // replace _out with resize_arr this->_out = resize_arr;
_out[this->_gasMatlabOut-1] = out; // copy of content of out
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.