char *var em struct [RESOLVIDO]

1. char *var em struct [RESOLVIDO]

adelson conceicao inacio
niodio

(usa Fedora)

Enviado em 18/04/2012 - 01:35h

pessoal estou tendo um problema com struct e ponteiro que não sei como resolver....

// aqui eu declaro a estrutura
struct Monstro
{
int hp;
int forca;
char *nome; // ponteiro onde esta dando o erro
};

//**Nesta parte eu crio os personagens do tipo da estrutura,
//Variaveis para a criação dos jogadores
Monstro ORC = {40, 10, "Orc"}; // {hp, força, nome}
Monstro LIZARD = {60, 10, "Lizard"};
Monstro SHADOW = {100, 23, "Shadow"};
Monstro BAHAMUT = {140, 31, "Bahamut"};
Monstro ULTIMA = {1000, 100, "Ultima"};

//nesta parte da declaração esta dando o seguinte erro ...


g++ exemplo14.cpp -o exemplo14
exemplo14.cpp:35:29: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
exemplo14.cpp:36:35: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
exemplo14.cpp:37:36: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
exemplo14.cpp:38:38: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
exemplo14.cpp:39:38: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]


alguem sabe como conserto isso?


  


2. MELHOR RESPOSTA

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 18/04/2012 - 07:48h

Bom, o ponteiro que você criou não está apontando pra nada. Isso é um erro de alocação de memória. Teria que criar um vetor em seu lugar e depois um ponteiro apontando para o endereço desse vetor.

char nome[9];
char *pnome = &nome;






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts