
Corregir error: ISO c++ forbids declaration of 'cola' with no type
Publicado por Luis (5 intervenciones) el 30/04/2014 08:24:51
Buenas noches (días) hice una librería colas.h, que escribo abajo, pero cuando trato de llamarla en un archivo.cpp me sale el error::: ISO c++ forbids declaration of 'cola' with no type,
Debo hacer un menu que implemente esas funciones, pero al solo declarar las librerias para incluir en el archivo .cpp, cuando pongo la libreria #include <colas.h> me aparece ese error, entre otros. pero no lo he podido corregir y llevo intentando todo el dia.
mi archivo colas.h es
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
typedef struct{
cola *prioridades;
int num;
} cola P;
/*------------------------------------------------*/
void despliega(cola q)
{
if(!esvacia(q))
{
while (q.ini->sig!=NULL)
{
printf("%c \t", consulta(q));
q.ini=q.ini->sig;
}
printf("%c", consulta(q));
}
}
/*------------------------------------------------*/
void inicializa (cola P *CP, int n)
{
CP->prioridades = (cola*) calloc (n*, sizeof(cola));
CP-> num= n;
}
cola CP;
inicializa (&p, 6);//revisar que es ese 6
/*------------------------------------------------*/
void encola(elem e, int n, cola CP *CP)
{
if (n>CP ->num || n<=0)
{
printf("error en prioridad");
exit(1);
}
insertarQ (&(CP-> prioridades [n-1]),e);
}
int desencola (cola *CP)
{
int i; cola aux;
for(i=0; i<CP -> num; i++)
{
aux= CP-> prioridades[i];
if (! esvacia(aux))
{
elimina(&(CP-> prioridades[i]));
return 1;
}
}
return 0;
}
/*------------------------------------------------*/
void insertarQ (cola *q, elem e)
{
nodo Q= *n
n=creanodo (e)
if (! esvacia (*q))// checar el doble parentesis
q -> fin-> sig = n;
else q-> ini =n;
}
int esvacia (cola q)
{
return q.ini == NULL;
}
/*------------------------------------------------*/
void separa (cola *q1, cola *q2)
{
cola aux;
aux= *q1;
inicializa q1;
int i;
elem C;
while(!esvacia(aux))
{
i=desencolar(&aux,&c);
if(c>='a' && c<='z')
insertaQ (q2,C)
else
insertaQ (q1,C)
}
}
/*------------------------------------------------*/
void cambio(cola q1)
{
cola = aux:
aux= *q1;
inicializa(q1);
int i;
elem e;
elem y;x;
printf("letra a cambiar");
scanf(%C, &y);
printf("letra para usar");
scanf(%C, &x);
while(! esvacia(aux))
{
i= desencoar(&aux, &C);
if (C= y) ;
inserta(q1,x);
else
inserta (q1,C);// checar si es c o y
}
}
/*------------------------------------------------*/
Debo hacer un menu que implemente esas funciones, pero al solo declarar las librerias para incluir en el archivo .cpp, cuando pongo la libreria #include <colas.h> me aparece ese error, entre otros. pero no lo he podido corregir y llevo intentando todo el dia.
mi archivo colas.h es
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
typedef struct{
cola *prioridades;
int num;
} cola P;
/*------------------------------------------------*/
void despliega(cola q)
{
if(!esvacia(q))
{
while (q.ini->sig!=NULL)
{
printf("%c \t", consulta(q));
q.ini=q.ini->sig;
}
printf("%c", consulta(q));
}
}
/*------------------------------------------------*/
void inicializa (cola P *CP, int n)
{
CP->prioridades = (cola*) calloc (n*, sizeof(cola));
CP-> num= n;
}
cola CP;
inicializa (&p, 6);//revisar que es ese 6
/*------------------------------------------------*/
void encola(elem e, int n, cola CP *CP)
{
if (n>CP ->num || n<=0)
{
printf("error en prioridad");
exit(1);
}
insertarQ (&(CP-> prioridades [n-1]),e);
}
int desencola (cola *CP)
{
int i; cola aux;
for(i=0; i<CP -> num; i++)
{
aux= CP-> prioridades[i];
if (! esvacia(aux))
{
elimina(&(CP-> prioridades[i]));
return 1;
}
}
return 0;
}
/*------------------------------------------------*/
void insertarQ (cola *q, elem e)
{
nodo Q= *n
n=creanodo (e)
if (! esvacia (*q))// checar el doble parentesis
q -> fin-> sig = n;
else q-> ini =n;
}
int esvacia (cola q)
{
return q.ini == NULL;
}
/*------------------------------------------------*/
void separa (cola *q1, cola *q2)
{
cola aux;
aux= *q1;
inicializa q1;
int i;
elem C;
while(!esvacia(aux))
{
i=desencolar(&aux,&c);
if(c>='a' && c<='z')
insertaQ (q2,C)
else
insertaQ (q1,C)
}
}
/*------------------------------------------------*/
void cambio(cola q1)
{
cola = aux:
aux= *q1;
inicializa(q1);
int i;
elem e;
elem y;x;
printf("letra a cambiar");
scanf(%C, &y);
printf("letra para usar");
scanf(%C, &x);
while(! esvacia(aux))
{
i= desencoar(&aux, &C);
if (C= y) ;
inserta(q1,x);
else
inserta (q1,C);// checar si es c o y
}
}
/*------------------------------------------------*/
Valora esta pregunta


0