Error de Clase

Rev
16 de Julio del 2004
Que tal estoy haciendo un programa de ajedrez pero tengo un problema, con esto:

class AJEDREZ
{
public:
AJEDREZ(void);
~AJEDREZ(void);
short int Dibuja_Casilla(char,short int);
short int Lugar_Vacio(char,short int,short int);
short int Reconoce_Pieza(char,short int,short int);
void Peon(char,short int,char,short int);
protected:
const char columna[]={'A','B','C','D','E','F','G','H'};
//Esta linea en la que declaro columna es la del error les pongo los errores abajo.
};

//Error PROGRA~1AJEDREZ.CPP 21: Cannot initialize a class member here
//Warning PROGRA~1AJEDREZ.CPP 28: Constant member 'columna' is not initialized

No se a que se deba pero cuando le quito los valores de {'A','B'....} se corrige el problema, que me pueden sugerir para resolver el problema.
Gracias de antemano.

Alejandro_
16 de Julio del 2004
Como columna[] se va a inicializar con las mismas constantes para cada objeto de la calase AJEDREZ, puedes hacerla static (garantizando que sólo existirá una única columna[] para todos).

Entonces, una vez que sea "static", puedes inicializarla fuera de la clase:

class AJEDREZ
{
public:
AJEDREZ(void);
~AJEDREZ(void);
short int Dibuja_Casilla(char,short int);
short int Lugar_Vacio(char,short int,short int);
short int Reconoce_Pieza(char,short int,short int);
void Peon(char,short int,char,short int);
protected:
// declaración:
static const char columna[]={'A','B','C','D','E','F','G','H'};
};
// inicialización:
const char AJEDREZ::columna[] = {'A','B','C','D','E','F','G','H'};

// Alejandro

Alejandro_
16 de Julio del 2004
No, todo mal... Va de nuevo (y me voy a dormir, lo juro)

class AJEDREZ
{
public:
AJEDREZ(void);
~AJEDREZ(void);
short int Dibuja_Casilla(char,short int);
short int Lugar_Vacio(char,short int,short int);
short int Reconoce_Pieza(char,short int,short int);
void Peon(char,short int,char,short int);
protected:
// declaración:
static const char columna[];
};

// inicialización:
const char AJEDREZ::columna[] = {'A','B','C','D','E','F','G','H'};

// espero que ahora sí...

// Alejandro

Alejandro
16 de Julio del 2004
corrección:

(dentro de AJEDREZ):
...
// declaración:
static const char columna[];