PDA

Visualizza la versione completa : [C++] Errore "object missing in reference to..." e visibilità scope


kraster
29-12-2010, 00:47
Buonasera a tutti! ho bisogno di un chiarimento.

ho questo header qui:



#ifndef GRIGLIA_H
#define GRIGLIA_H
#include <vector>


struct casella {
int n;
std::vector<int>card;
};


class griglia
{
private:
std::vector<std::vector<casella> > t; // container
// number of rows = t.size()
int c; // number of columns
int livello; //(0 non è stata settata ancora,1 livello semplice, 2 livello difficile
public:
griglia();
explicit griglia(int,int); //create nxn tabl
casella& at(int, int); //return (ref to) elem t[i][j]
void stampa_griglia();
int rows() const; //return number of rows in table
int cols() const; //return number of columns in table
int add(int cordx,int cordy,int elem); //ritorna 0 se è andato a buon fine, 1 se è andato male
void push_card(int); //FUNZIONE CHE NN RIESCO AD IMPLEMENTARE

};
#endif // GRIGLIA_H


vorrei ora implementare il metodo push_card(int x) allora nel mio file .cpp faccio:



void griglia:: push_card(int n){

//come accedo all'array che è dentro la struct per lavorarci sopra? se scrivo cosi:

casella::card.push_back(n);
}


mi da questo errore:
error: object missing in reference to ‘casella::card’

________________

grazie a tutti per le risposte..

MItaly
29-12-2010, 00:49
Cos'è che dovrebbe fare questo metodo? :confused:

kraster
29-12-2010, 01:21
Originariamente inviato da MItaly
Cos'è che dovrebbe fare questo metodo? :confused:

questo metodo aggiunge un elemento nel vettore card dentro la struct casella.

MItaly
29-12-2010, 01:33
Ma di quale istanza di casella si sta parlando? Cioè, a che coordinate di t si deve riferire?

kraster
29-12-2010, 13:28
Ho risolto, dalle tue risposte ho capito che c'era qualcosa di fondo che non avevo ben chiaro!!

grazie a tutti!

MItaly
29-12-2010, 15:03
:ciauz:

Loading