>          void Funcao (const char *parm1);
>          {  char *variavel;
>               variavel =  parm1 ;  /* aqui d� erro de compila��o */
>           }

N�o vejo nada de errado no compilador. Ao meu ver, o compilador
estaria com bug se n�o desse erro.

Ele est� simplesmente te avisando que voc� est� tentando
alterar uma vari�vel do tipo "const". O mesmo erro ocorre se voc�
escrever:
    const char variavel[]="abc";
    variavel[0]='d';  /* Aqui vai dar erro */

H� ainda um segundo erro: o caracter ";" ap�s o nome da fun��o.

Vejo tr�s alternativas:

     void Funcao (char *parm1)  {  char * variavel =  parm1;   }
     void Funcao (char *parm1)  {  const char * variavel =  parm1;   }
     void Funcao (const char *parm1)  {  const char * variavel =  parm1;   }

>         Isto levanta uma d�vida:   O gcc vai incompatibilizar todos aqueles
> programas antigos, j� que  n�o h� op��o para que ele aceite estas coisas,
> como ele aceitava antes?

Se o programa n�o respeita o significado da palavra "const",
o melhor � definir todas as vari�veis como n�o sendo "const".

[]'s
    Edward Martin


Assinantes em 03/12/2002: 2281
Mensagens recebidas desde 07/01/1999: 192441
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
            mailto:[EMAIL PROTECTED]

Responder a