• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

alexmgarcia

warning: assignment makes integer from pointer without a cast

3 mensagens neste tópico

Boas,

Estou a fazer um projecto para a universidade que é a gestão de requisições de uma biblioteca que utiliza um ficheiro txt como base de dados (por mim era SQL, mas os docentes pediram assim).

No entanto, ao compilar o código que já fiz obtenho uns warnings e estou aqui a colocar esta dúvida de modo a perceber o que leva estes warnings surgirem.

main.c: In function `elimina_proposta':

main.c:27: warning: assignment makes integer from pointer without a cast

main.c:44: warning: assignment makes integer from pointer without a cast

main.c: In function `verifica_existe':

main.c:186: warning: passing arg 2 of `strcmp' makes pointer from integer without a cast

main.c: In function `adicionar':

main.c:227: warning: passing arg 1 of `verifica_existe' makes integer from pointer without a cast

Tenho uma estrutura que é a seguinte:

typedef struct {
    int qtsautores;
    char autor[4][40];
    char titulo[25];
    char coleccao[15];
    char isbn[20];
} livros;
livros livro[MAX_LIV];

Aqui segue-se o código de cada uma das linhas acima indicadas

linha 27

livro[id].qtsautores = NULL;

linha 44

livro[id+1].qtsautores = NULL;

linha 186

if (strcmp(livro[i].isbn,isbn) == 0) {

linha 227

if (verifica_existe(livro[j].isbn)) {

Alguma sugestão do que possa fazer para evitar os warnings?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nos 2 primeiros, usa 0 em vez de NULL.

No 3º, assumindo que isbn é um inteiro, estás a passá-lo a uma função que espera um array de caracteres.

No 4º, assumindo que a função recebe um inteiro, algo está mal.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No 4º sim, estava inteiro. Erro estúpido que não reparei.  :wallbash:

Sendo assim já faz mais sentido. Obrigado!  :ipool:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora