Aide en C :'(
alex
-
guyom -
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...
:-)
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
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
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