Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucasseribeiro

conversão obsoleta de constante string para ‘char*’

Recommended Posts

Oi, pessoal...

 

Eu instalei umas trocentas libs no xubuntu, e agora os erros do gcc estão em português, hehe.

Mas é o seguinte: o código roda bunitinho, mas dá esse warning abaixo.

warning: conversão obsoleta de constante string para ‘char*’ [-Wwrite-strings]

este warning aparece quando eu chamo a função agenda()

agenda("teste",misto); // --> warning

que está declarada como abaixo em outro arquivo .cpp (includei stdio.h no meio), com definição "void agenda(char*,Tipo);" no cabeçalho, onde "Tipo" consiste em um enum para os tipos de agenda (registro, diário, tarefas, misto - queu vo implementar depois)

void agenda(char nm[100], Tipo tp){
    Agenda agenda;
        agenda.nome = nm[100];
        agenda.tipo = tp;
printf("    agenda(char nm[100], Tipo tp);"); // para fins de verificação
}

Tenho impressão que tem haver com o vetor nm[100] que num tem indice no parâmetro da definição do cabeçalho, aí o gcc num quer dar um jeito e fica aí reclamando... O código tá funcionando, mas eu num gosto dessas lacunas. Pode dar problema depois, que é pior.

 

Agradecido

Lucas Ribeiro

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Sugiro declarar o parâmetro como (const char *).

 

Outra coisa: na definição de agenda, você está atribuindo nm[100] a agenda.nome, que na maioria dad invocações não deve nem existir. Acho que você quis dizer agenda.nome = nm;.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.