fiz toda uma lista encadeada e para cada item da ListaGeral o campo void* especifico apontava para uma das outras tres estruturas.
Minha duvida agora é o seguinte, devo fazer uma nova lista incluindo somente os items do tipo grad que possuam float coefic acima de certo valor. Como posso acessar esse campo coefic sem ter certeza de qual o tipo apontado pelo void* ??
ja pensei em varias possibilidades, como por exemplo comparar o sizeof (*ListaGeral->especifico) com sizeof (grad) mas não tive sucesso até agora...
preciso saber se pelo menos há uma soulçao pra isso, caso contrario tenho q começar o trabalho todo novamente com novas estruturas.
Pergunta
Leandro Maffioletti
eu construi a seguinte estrutura:
typedef struct ListaGeral {
char nome[31];
char sexo[5];
unsigned long int matricula;
struct ListaGeral *prox;
void* especifico;
} ListaGeral;
typedef struct prof {
float salario;
char regime[3];
} prof;
typedef struct grad {
char nome_curso[31];
float coefic;
int pont_vest;
} grad;
typedef struct pos {
char nome_curso[31];
float coefic;
char curso_form[31];
} pos;
fiz toda uma lista encadeada e para cada item da ListaGeral o campo void* especifico apontava para uma das outras tres estruturas.
Minha duvida agora é o seguinte, devo fazer uma nova lista incluindo somente os items do tipo grad que possuam float coefic acima de certo valor. Como posso acessar esse campo coefic sem ter certeza de qual o tipo apontado pelo void* ??
ja pensei em varias possibilidades, como por exemplo comparar o sizeof (*ListaGeral->especifico) com sizeof (grad) mas não tive sucesso até agora...
preciso saber se pelo menos há uma soulçao pra isso, caso contrario tenho q começar o trabalho todo novamente com novas estruturas.
tenta me ajudar aih galera!
Brigadão....
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.