C/Visual C - incompatibilidad de tipos

   
Vista:

incompatibilidad de tipos

Publicado por localhost (10 intervenciones) el 30/10/2008 19:36:54
hola, estoy intentando hacer un proyecto en c en el cual se crean unos procesos, para ellos creo la estructura proceso en el punto .h de la siguiente forma:

typedef struct proc *proceso;

proceso p_procesoCrea(float aprobInt, int anumRafagas);
void p_procesoDesc(proceso p);

este sería el contenido de mi .h

y en el .c hago lo siguiente:

#include "proceso.h"

struct proc{
float probInt;
int numRafagas;
}

proceso p_procesoCrea(float aprobInt, int anumRafagas){

proceso p;

p=(proceso)malloc(sizeof(struct proceso));
p->probInt=aprobInt;
p->numRafagas=anumRafagas;
return p;
}
el problema es que me da un conflicto de tipos en: proceso p_procesoCrea(float aprobInt, int anumRafagas) del .c y un error de sintaxis tambien en la misma linea, no se porque, si alguien me pudiese echar un cable se lo agradecería muchísimo, Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:incompatibilidad de tipos

Publicado por AntonioG (42 intervenciones) el 30/10/2008 20:08:20
Hola,

Pienso que, como estas usando malloc, usar "proceso *" en lugar de "proceso", o sea puntero a proceso, algo como asi:
proceso *p_procesoCrea(float aprobInt, int anumRafagas){

proceso *p;

p=(proceso *)malloc(sizeof(struct proceso));
p->probInt=aprobInt;
p->numRafagas=anumRafagas;
return p;
}

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:incompatibilidad de tipos

Publicado por localhost (10 intervenciones) el 30/10/2008 20:21:53
Muchas Gracias por tu brevedad Antonio, he probado con el puntero, pero no me funciona. proceso es un puntero a la estructura proc por eso no le puse puntero pq ya es un puntero, de cualquier forma lo probé, sin exito, de todas formas el error me lo da en la cabecera del módulo, no si quiza pueda ser problema de los includes o algo asi??
Muchas gracias nuevamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:incompatibilidad de tipos

Publicado por Tom (481 intervenciones) el 31/10/2008 12:03:07
Yo probaría definiendo la estructura en el .h

typedef struct proc {
float ...
} *proceso;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:incompatibilidad de tipos

Publicado por chema (8 intervenciones) el 31/10/2008 17:36:22
probé tu programa y tal y como me fijé desde que lo leí hay un error:

si te marca declaración multiple, es que te falta un ";" (punto y coma) en la declaración del struct en el programa de .c

el struct quedaría asi:

struct proc{
float probInt;
int numRafagas;
} ; //Notesé que aquí si lleva punto y coma

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:incompatibilidad de tipos

Publicado por localhost (10 intervenciones) el 01/11/2008 12:05:34
Hola a todos, muchas gracias, por vuestra ayuda ya he conseguido solucionarlo, era una tonteria, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar