Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema al incluir un .h

Estas en el tema de Problema al incluir un .h en el foro de C/C++ en Foros del Web. Hola, soy nuevo en el mundo de la programación. Tengo un problemilla. Uso el dev c++, supongo que habrá compiladores mejores ... He creado un ...
  #1 (permalink)  
Antiguo 12/10/2010, 13:03
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años
Puntos: 0
Información Problema al incluir un .h

Hola, soy nuevo en el mundo de la programación. Tengo un problemilla. Uso el dev c++, supongo que habrá compiladores mejores ...

He creado un proyecto y tengo tres ficheros, main.c , prueba.h y prueba.c

En el prueba.h tengo la declaracion de estructuras, tipos definidos, etc

En el prueba.c tengo las funciones implementadas que he declarado en el .h

El problema está en que al incluir en el .c el .h de la siguiente forma:

#include "prueba.h"

al compilar me dan varios errores, el primero de ellos:

1 C:\Users\Alex\Desktop\prueba\prueba.c In file included from prueba.c

He estado mirando en diferentes enlaces y creo que lo he hecho bien, pero el error está ahí...

Os agradecería que me echarais una mano.

Saludos
  #2 (permalink)  
Antiguo 12/10/2010, 15:22
 
Fecha de Ingreso: noviembre-2009
Mensajes: 186
Antigüedad: 15 años
Puntos: 2
Respuesta: Problema al incluir un .h

esa linea de error que nos das no puede ser la única, danos también las que lo siguen, que si no poco podemos hacer
  #3 (permalink)  
Antiguo 12/10/2010, 15:38
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años
Puntos: 0
Pregunta Respuesta: Problema al incluir un .h

Mil perdones.

Te pongo el código que tengo hasta el momento:

Éste es el AbinMat0.h

#define NODO_NULO -1
typedef char tElemento

#ifndef _ARBOL_BINARIO_

#define _ARBOL_BINARIO_
typedef int nodo; /*índice de la matriz entre 0 y maxNodos-1*/
struct celda{
tElemento elto;
nodo padre, hizq, hder;
};
typedef struct tArbol{
struct celda *nodos;
int maxNodos;
int numNodos;
}tipoArbol;
typedef tipoArbol *Abin;

Abin CrearAbin (int maxNodos);

void CrearRaizB (tElemento e, Abin A);
void InsertarHijoIzqdoB(nodo n, tElemento e, Abin A);
void InsertarHijoDrchoB(nodo n, tElemento e, Abin A);
void EliminarHijoIzqdoB(nodo n, Abin A);
void EliminarHijoDrchoB(nodo n, Abin A);
void EliminarRaizB(Abin A);
void DestruirAbin (Abin A);
int ArbolVacioB(Abin A);
tElemento RecuperarB(nodo n, Abin A);
void ModificarB(nodo n, tElemento e, Abin A);
nodo RaizB(Abin A);
nodo PadreB(nodo n, Abin A);
nodo HijoIzqdoB(nodo n, Abin A);
nodo HijoDrchoB(nodo n, Abin A);

#endif


Éste es el AbinMat0.c

#include <stdlib.h>
#include "AbinMat0.h"

Abin CrearAbin (int maxNodos){

Abin A;
A = (Abin) malloc(sizeof(tipoArbol));

if (!A)
printf("CrearAbin(): No hay memoria");

A->nodos = (struct celda*)calloc(maxNodos, sizeof(struct celda));

if (!A->nodos)
printf("CrearAbin(): No hay memoria");

A->maxNodos = maxNodos;
A->numNodos = 0;
return A;
}

Y éstos son los primeros errores:


2 C:\Users\Alex\Desktop\EDII\Arboles\Arboles Binarios\TADArbolBinario\Implementacion1\AbinMat0. c In file included from AbinMat0.c

7 C:\Users\Alex\Desktop\EDII\Arboles\Arboles Binarios\TADArbolBinario\Implementacion1\AbinMat0. h syntax error before "typedef"

9 C:\Users\Alex\Desktop\EDII\Arboles\Arboles Binarios\TADArbolBinario\Implementacion1\AbinMat0. h parse error before "tElemento"

9 C:\Users\Alex\Desktop\EDII\Arboles\Arboles Binarios\TADArbolBinario\Implementacion1\AbinMat0. h [Warning] no semicolon at end of struct or union

11 C:\Users\Alex\Desktop\EDII\Arboles\Arboles Binarios\TADArbolBinario\Implementacion1\AbinMat0. h parse error before '}' token


El código está copiado de unos apuntes que tengo de clase proporcionados por el profesor.

Espero que con esto podáis ayudarme.
Muchas gracias, un saludo.
  #4 (permalink)  
Antiguo 12/10/2010, 17:10
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Problema al incluir un .h

Te falta un punto y coma en esta sentencia al final:

typedef char tElemento;
  #5 (permalink)  
Antiguo 12/10/2010, 18:05
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años
Puntos: 0
De acuerdo Respuesta: Problema al incluir un .h

Muchas gracias por tu ayuda.

Etiquetas: incluir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:02.