PDA

View Full Version : [C++] Initializer un po' ...beeep


Bonfo
06-10-2006, 19:02
Allora ecco la semplicissima cosa che voglio fare: un campo privato in una classe c++ contenetu un array statico di interi.

Ecco il codice che ho messo all'interno dell'header:

...
private:
static int values[]={1,2,3};
...


abbastanza semplice no ... :asd: :asd:

...e invece NO!! :muro: :muro: :muro:

error: a brace-enclosed initializer is not alloawd here before '{' token
error: invalid in-class initialization of static data member of non-integral type 'int []'



:muro: :muro: :muro:

andbin
06-10-2006, 20:35
Allora ecco la semplicissima cosa che voglio fare: un campo privato in una classe c++ contenetu un array statico di interi.

Ecco il codice che ho messo all'interno dell'header:

...
private:
static int values[]={1,2,3};
...


abbastanza semplice no ... :asd: :asd:

...e invece NO!! :muro: :muro: :muro: Ti riporto pedestremente quello che c'è scritto sul mio libro sul C++:

"La dichiarazione di una variabile membro static all'interno di una classe non equivale alla sua definizione; essa necessita di una definizione globale che si trovi in un punto all'esterno alla classe"

Quindi:
class Prova
{
private:
static int valori[];
};


int Prova::valori[] = { 1, 2, 3 };

Bonfo
11-10-2006, 23:05
Scusa se rispondo solo ora...ma ho visto la risposta solo ora.
Provo subito e appena ho il risultato ti faccio sapere!!

GRAZIE :mano:

Bonfo
11-10-2006, 23:28
Wakka !!!!
Risposta esatta!

GRAZIE andbin!!

:ave: :ave: :ave: :ave:

trallallero
12-10-2006, 08:49
...
confermi l'opinione che hanno le donne su di noi ... che non leggiamo mai le istruzioni :asd:

Bonfo
13-10-2006, 00:02
:asd: :asd: :asd: