Hola tengo que hacer un programa donde yo inserte un dato y su prioridad y que se ordene en una cola segun la prioridad.
El CodeBlocks me esta tirando un error y no me doy cuenta que esta mal, ojala puedan ayudarme, aca esta el codigo:
ColaInt *CrearColaInt()
{
ColaInt *nueva = (CrearColaInt *)malloc(sizeof(ColaInt));
if(nueva != NULL)
{
nueva->pri = NULL;
}
return nueva;
}
Error:
In function 'CrearColaInt':
expected expression before ')' token
En la linea 3
Gracias por su ayuda
Cita de: VintageChanel en 30 Enero 2015, 01:55 AM
Hola tengo que hacer un programa donde yo inserte un dato y su prioridad y que se ordene en una cola segun la prioridad.
El CodeBlocks me esta tirando un error y no me doy cuenta que esta mal, ojala puedan ayudarme, aca esta el codigo:
ColaInt *CrearColaInt()
{
ColaInt *nueva = (CrearColaInt *)malloc(sizeof(ColaInt));
if(nueva != NULL)
{
nueva->pri = NULL;
}
return nueva;
}
Error:
In function 'CrearColaInt':
expected expression before ')' token
En la linea 3
Gracias por su ayuda
creo que te falto el ';'
no tengo mucha experiencia con memoria dinamica, pero se que malloc devuelve un puntero a void, si vas a reservar memoria para lo que sea del tipo ColaInt, no entiendo por que el cast lo haces a CrearColaInt si el tipo del puntero es ColaInt.
Para que entiendas esto es lo que deberia pasar:
void puntero = malloc(sizeof(ColaInt));
ColaInt *nueva = (ColaInt*)puntero;
...Sin embargo pasa:
ColaInt *nueva = (CrearColaInt *)puntero;
¿¿que pinta CrearColaInt ahí si el puntero es ColaInt?? :huh:
Creo que el correcto seria: ColaInt *nueva = (ColaInt *)malloc(sizeof(ColaInt)); :huh: