charStatus=charConstante gera erro no '=' [RESOLVIDO]

1. charStatus=charConstante gera erro no '=' [RESOLVIDO]

Alex Fernando Ferreira
staltux

(usa Slackware)

Enviado em 29/05/2009 - 15:45h

estou com um erro bobo que nao consigo resolver aqui,tento atribuir um valor a uma variavel eo o compilador diz que falta algo antes do sinal de '='.

// começa aqui..

#include <iostream>
#define STATUS_NORMAL = '0';
struct celula
{
unsigned char status[1]; // nomal,clicked,bombed
};

using namespace std;
int main(void)
{
struct celula mapa[5][5];
mapa[0][0].status[0]=STATUS_NORMAL;
cout << mapa[0][0].status << endl;

exit(0);

};
// acaba aqui..

esse simples codigo nao compila com o erro:

main.cpp: In function 'int main()':
main.cpp:14: error: expected primary-expression before '=' token
make: *** [all] Error 1

a linha 14 é a que eu digo status[0]=STATUS_NORMAL;

alguem consegue ver onde esta o erro?


  


2. MELHOR RESPOSTA

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 29/05/2009 - 18:52h

você colocou um = na diretiva #define
remoava-o, deixando assim:
#define STATUS_NORMAL '0';

do jeito que está o pré-processador vai expandir sua linha para:
mapa[0][0].status[0]== '0';
e não:
mapa[0][0].status[0]='0';

3. Re: charStatus=charConstante gera erro no '=' [RESOLVIDO]

Alex Fernando Ferreira
staltux

(usa Slackware)

Enviado em 30/05/2009 - 15:08h

aeee...vlw funcionou, nem passou pela minha cabeça essa, eu sabia que o pre-processador fazia isso com o define, mas achei que tinha de colocar o '='...







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts