ayuda en devc++

mauro
10 de Abril del 2004
necesito que me digan que significa el error que me tira al compilar mi programa..
aca les mando el codigo para que vean en que puede estar fallando y me den una manito..es el algoritmo de un arbol AVL y me tira un solo error al compilar

// libreria.mia libreria.h
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
#include <iomanip.h>
#include <iostream.h>
#include <fstream.h>
#include <conio.c>
#define FALSE 0
#define TRUE 1



typedef struct _AVL
{
char esp[40], ing[40];
struct _AVL *izq, *der;
int balance;
} AVL ;
char s[55];
//
// prototipos
//
//int vacia(AVL);
AVL *insertaAVL( *AVL ,char ,char ,int);
//void GmuestraAVL(AVL ,int,int,int,int );

//void Principal ( HDC );

//
// AVL
//


int vacia(AVL *p)
{ return p == NULL ;
}



void borraAVL(AVL *t) // borra todo el arbol ....
{
if ( t != NULL )
{
borraAVL(t->izq);
borraAVL(t->der);
delete t ;
}
}
/*
void BorraLaVentana(HDC h)
{
HBRUSH hBrush;
hBrush = CreateSolidBrush(RGB(rand()%256,rand()%256,rand()%256));
RECT rect = {0,0,ancho,alto}; // 744 y 575 son el tamaño de la ventana
FillRect(h, &rect, hBrush); //rellena un rectangulo con el color
}
*/

AVL *insertaAVL( AVL *p, char espa[], char ingl[], int *bandera)
{
AVL *q, *r, *p2 ;

if (vacia(p))
{ // llego a una hoja
q = new AVL ;
if ( q == NULL )
{
cout << " se acabo la memoria ..." << endl;
return NULL ;
}
strcpy(q->esp,espa); strcpy(q->ing,ingl); q->balance = 0 ; q->izq = q->der = NULL ;
*bandera = TRUE;
return q;
} // fin de vacio
else if ( strcmp (espa,p->esp)<0)
{ // inserte a la izquierda
p->izq = insertaAVL(p->izq, espa, ingl, &bandera);
if ( *bandera ) // es verdadera
switch ( p->balance )
{
case 1 : p->balance = 0 ; *bandera = FALSE ; break;
case 0 : p->balance = -1 ; break ;
case -1: // rebalanceo
r = p->izq;
if ( r->balance == -1 ) // rotacion LL
{
p->izq = p->der; r-> der = p;
p->balance = 0 ; p = r ;
}
else // rotacion LR
{
p2 = r->der ;
r->der = p2->izq; p2->izq = r;
p->izq = p2->der; p2->der = p ;
if (p2->balance == -1) p->balance = 1 ;
else p->balance = 0 ;
if (p2->balance == 1) r->balance = -1 ;
else r->balance = 0 ;
p = p2 ;
}
p->balance = 0 ; *bandera = FALSE ;
} // fin del switch
}
else if ( strcmp(espa,p->esp)>0 )
{ // inserta a la derecha
p->der = insertaAVL(p->der, espa, ingl,&bandera);
if ( *bandera ) // es verdadera
switch ( p->balance )
{
case -1 : p->balance = 0 ;
*bandera = FALSE ;
break;
case 0 : p->balance = 1 ;
break ;
case 1 : // rebalanceo
r = p->der;
if ( r->balance == 1 ) // rotacion RR
{
p->der= r->izq; r-> izq = p;
p->balance = 0 ; p = r ;
}
else // rotacion RL
{
p2 = r->izq;
r->izq = p2->der; p2->der = r;
p->der = p2->izq; p2->izq = p ;
if (p2->balance == 1)
p->balance = -1 ;
else
p->balance = 0 ;
if (p2->balance == -1)
r->balance = 1 ;
else
r->balance = 0 ;
p = p2 ;
}
p->balance = 0 ; *bandera = FALSE ;
} // fin del switch
}

return p;
}


/* -----------------------------------
BUSCADOR
-----------------------------------
*/

/*
char buscar (AVL *p, char espa)
{ int comp;
char tmp[42]='_';

if (p==NULL)
{ strcat(tmp,espa);
strcat(tmp,'_');
return tmp;
}

comp = strcmp (espa,p->esp);
if (comp==0)
return (p->ing);
else if (comp <0)
{ tmp=buscar(p->izq,espa);
return tmp;
}
else
{ tmp= buscar(p->der,espa);
return tmp;
}
}

*/
////////////////////////////// llenado del arbol desde el archivaldo
//

int Principal ( HDC hDC )
{
AVL *Q = NULL ;
int i,j,k;
char *pal_ingles, *pal_cast;
pal_ingles = new char[40];
pal_cast = new char[40];



ifstream archivo;
archivo.open("dicc.txt");
while (archivo.fail())
{
archivo >> pal_ingles >> pal_cast ;
Q = insertaAVL(Q,pal_cast,pal_ingles, &k);
k = 0;
}
archivo.close();
return(0);
}
/*
char ss[34] = " es el próximo número a insertar";
k = 0 ;
for ( i = 0 ; i < 14; i++) // numero de datos a insertar
{
j = rand()%90 + 10 ; // genera número añeatorio
itoa(j,s,10); // transforma número a string
strcat(s,ss); // concatena con frase
TextOut(hDC,100,400,s,35); // escribe en la ventana
PausaPorUnTiempo(2);
Q = insertaAVL(Q,j,&k ); // se inserta al azar ...
k = 0 ;
GmuestraAVL(hDC,Q,1,360,310,360);
PausaPorUnTiempo(2);
}
borraAVL(Q);
TextOut(hDC,100,440," Terminé ",11);
*/


atte a ud mauricio...cualquier ayuda me sirve ...muchas gracias