PDA

Visualizza la versione completa : [C++] Errore di compilazione per classi con più di N elementi


Gianni91
04-01-2012, 18:49
Gli oggetti,che vengono realizzati dalla mia classe crashano a tempo di compilazione se superano una certa dimensione(5)..
Si Tratta di un matrice dinamica ..
Posto Distruttore e Costruttore
file.h

#include<iostream>
#include<fstream>
using namespace std;

enum stato{LIBERO,OCCUPATO};

class Vivaio{
stato** matt;
int file;//mantiene numero delle file
int occupati;//numero del posti occupati
int liberi;//numero dei posti liberi
public:
Vivaio(int);
Vivaio(const char* );
int libera(int);
bool occupa(int,int);
void compatta();
~Vivaio();
Vivaio& operator=(const Vivaio& v);
friend ostream& operator<<(ostream& ,const Vivaio& );
};

Costruttore

Vivaio::Vivaio(int n=3){
n=(n<=0)?3:n;
file=n;
occupati=0;
liberi=0;
matt=new stato*[n];
for(int i=0;i<n;i++)
matt[i]=new stato[i+1*2];
for(int i=0;i<n;i++){
for(int j=0;j<((i+1)*2);j++){
matt[i][j]=LIBERO;
liberi++;
}}
}
Distruttore..


Vivaio::~Vivaio(){
for(int i=0;i<file;i++)
delete []matt[i];
delete []matt;
}
Grazie!!! :)

shodan
04-01-2012, 19:39
Occhio:


matt[i]=new stato[ (i+1) * 2 ];

Gianni91
04-01-2012, 19:48
Grazie,continuavo a guardare nel posto sbagliato,credevo di aver sbagliato qualcos'altro :)

shodan
04-01-2012, 19:51
Se ti consola anche io ci ho messo un po'. :ciauz:

Gianni91
05-01-2012, 22:32
I problemi più semplici sono quelli più difficile da trovare ,xché dai alcune cose per scontato.. :dhò:

Loading