PDA

View Full Version : [C++] Problemi con le classi


agus83
09-06-2008, 19:26
Ciao a tutti!!!
Vi posto un mio problema con i puntatori in C++ che mi sta facendo sclerare!Metto sotto il codice di esempio:

Header

#include <iostream.h>
using namespace std;
#define N 5

class SlotTableEntry{
public:
char sti;
char PSF : 2;

SlotTableEntry(){
sti = 0;
PSF = 0;
};
};

class FI{
public:
SlotTableEntry slots[N];
inline SlotTableEntry getSlot(int index){ return slots[index];};
};

class SlotTable {
public:
FI* fi_table[N];

FI* getChannelStatus();
};


Mentre nel main del sorgente .cpp:

main()
{
SlotTable tabella;
SlotTable tabella2;
tabella.fi_table.slots[1].sti = 'a';
// qui ottengo errore su "slots"
}


Quando esegue l'operazione di assegnazione mi restituisce errore " 'slots' has not been declared ". Penso sia un errore di puntatori.
Come faccio ad accedere in maniera corretta a tale variabile?
Se invece la variabile 'fi_table[N]' della classe SlotTable non la dichiaro come vettore di puntatori a FI,bensi semplicemente come: FI fi_table[N]; l'operazione č corretta. Io perņ ho assolutamente bisogno che siano vettori di puntatori!!!
Grazie mille :D

tomminno
10-06-2008, 08:31
Quando esegue l'operazione di assegnazione mi restituisce errore " 'slots' has not been declared ". Penso sia un errore di puntatori.
Come faccio ad accedere in maniera corretta a tale variabile?
Se invece la variabile 'fi_table[N]' della classe SlotTable non la dichiaro come vettore di puntatori a FI,bensi semplicemente come: FI fi_table[N]; l'operazione č corretta. Io perņ ho assolutamente bisogno che siano vettori di puntatori!!!
Grazie mille :D

fi_table č un array di puntatori.
Quindi devi eseguire la new per ogni elemento altrimenti non hai allocato memoria