Aide en C :'(

alex -  
 guyom -
j ai un petit pbe avec malloc!!

j ai une structure:
struct key
{...};

je defini le type key comme etant struct key
typedef struct key key;

j ai 1 var vecteur de 8 key
bob key[8];

je veux allouer a bob[i] la place dont il a besoin
je fais
bob[i]=malloc(sizeof(key));

et la j ai l erreur svte: conversion to non-scalar type requested

voila si vous avez des soluces
merci d avance...
:-)

2 réponses

poupyman Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   15
 
ben d'abord la déclaration devrait etre de la forme
key bob[8]; puisque key est le nom de ton type

ensuite, bob[i] est déjà une structure key, et donc la mémoire est déjà allouée
de plus, le malloc renvoie un pointeur, donc tu as un probleme de conversion de type (tu essaies d'affecter un pointeur (void *) dans ta structure (de type key) )

de toute façon, supprime le malloc, il ne sert à rien dans ce cas
1
guyom
 
faut caster le retour de la fonction malloc en mettant (key *) devant...
0