Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

mbalves

warning: initialization from incompatible pointer type

Mensagens Recomendadas

mbalves    0
mbalves

Boas,

Eu tenho a seguinte estrutura num header file :

typedef struct qtnode {
    struct QTnode *firstChild; 
    struct QTnode *secondChild;
    struct QTnode *thirdChild;
    struct QTnode *fourthChild;
    int xMin;
    int xMax;
    int yMin;
    int yMax;
    List l; //Lista de Rectangulos inseridos no nó

} QTNODE,*QuadTree;

No respectivo ficheiro c eu estou a construir uma função onde pretende preencher uma quadtree:

void genQuadTree(List lRect, int xMinimum, int xMaximum, int yMinimum,
	int yMaximum) {

QuadTree q = malloc(sizeof(QTNODE));

QTNODE *qFirst = q->firstChild;
QTNODE *qSecond = q->secondChild;
QTNODE *qThird = q->thirdChild;
QTNODE *qFourth = q->fourthChild;

o problema é que o compilador diz me que "QuadTree.c:70: warning: initialization from incompatible pointer type" que corresponde aquelas ultimas 4 linhas de codigo. Se me pudessem ajudar a descobrir como poderia resolver o erro agradecia bastante.

cumprimentos

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Baderous    31
Baderous

Como não estás a fazer casting do resultado do malloc para QuadTree, ele devolve void*, que é incompatível com QuadTree.

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade