PDA

Visualizza la versione completa : [C++] problemi con la delete di un puntatore


ajeje93
20-06-2013, 11:02
template <class T> Matrix2D<T> Matrix2D<T>::trasposta() {
if (matrice_temp!=0)
delete(matrice_temp);

matrice_temp= new Matrix2D<T>(righe, colonne); //scambia il numero di righe con il numero di colonne

for(int i = 0; i < colonne; i++)
{
for (int j = 0; j < righe; j++)
(*matrice_temp).matrice[j][i] = matrice[i][j];
}
return *matrice_temp;
}


uso un puntatore per evitare conflitti nella memoria durante l'esecuzione dei metodi da parte di pi processi contemporaneamente.

la seconda volta che viene richiamato il metodo d errore (access violation) quando fa la delete

ho notato che se metto nel controllo == funziona, ma non ha senso.

il puntatore nel costruttore viene inizializzato = 0.
Lo stesso controllo c' anche nel distruttore ma d errore anche l.

Kekkottu
20-06-2013, 11:21
anche io ho il tuo stesso problema! XD

oregon
20-06-2013, 11:25
Puoi proporre un minimo di codice del main e della classe (compilabile) in modo da capire meglio ... ?

ajeje93
20-06-2013, 11:49
vuoi un pezzo di codice per poterlo compilare??

oregon
20-06-2013, 11:53
Originariamente inviato da ajeje93
vuoi un pezzo di codice per poterlo compilare??

S ... proprio quello che ti ho scritto ...

Loading