Ir ao conteúdo

ifndef & endif


andrels07

Posts recomendados

Postado

tenho um arquivo TadLista.h

#ifndef TADLISTA_H_

#define TADLISTA_H_

typedef int TipoPeso;

typedef char TipoCaractere;

typedef struct lista Lista;

typedef struct arv Arv;

Lista* CriaLista();

Lista* InsereLista(Lista* l, Arv *a);

Lista* Retira(Lista *l, int v);

Lista* InsereOrdenada(Lista *l, Arv *a);

#endif

e tenho um TadArvore.h

#ifndef TADARVORE_H_

#define TADARVORE_H_

typedef int TipoPeso;

typedef char TipoCaractere;

typedef struct arv Arv;

typedef struct vetor TipoVetor;

Arv* CriaVazia();

Arv* Cria(char c, Arv* sae, Arv* sad);

#endif

e o TadArvore.c

#include <stdio.h>

#include <stdlib.h>

#include "TadArvore.h"

#include "TadLista.h"

o problema é que na hora de compilar TadArvore.c da erro, pois TipoPeso, TipoCaractere e typedef struct arv Arv estão definidos mais de uma vez

eu fiz a parada do ifndef e endif mas continua o erro

porque?

  • Membro VIP
Postado

Há muitos erros,tal como várias redefinições de tipo e declarações equivocadas das estruturas.Sugiro que você estude um pouco mais sobre estruturas e confira os esquemas relacionado as redefinições de tipo.

Postado

Eu sei que tem um monte de erros de redefinição.

O problema é que eu vi que você pode usar essas redefinições, desde que você use o ifndef,

pois o ifndef dentro de um arquivo lê aquela definicão se ja estiver definida ele pula, algo assim

se não for isso alguem poderia me dizer para que serve o ifndef e o endif?

  • Membro VIP
Postado

Se não tiver sido declarado anteriormente,declare.Esse é o papel de ifndef e endif.Alem disso,o #ifndef serve para evitar dupla criação de uma função no MESMO arquivo (o compilador detecta isso e impede a compilação) mas não impede que a mesma função seja criada em váriso arquivos, e compilada várias vezes.

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!