arriver C erreur: la conversion de non-scalaire du type requis

Hey, j'obtiens cette erreur:

error: conversion to non-scalar type requested

Voici mon structs:

typedef struct value_t value;

struct value{
   void* x;
   int y;
   value* next;
   value* prev;
};

typedef struct key_t key;

struct key{
   int x;
   value * values;
   key* next;
   key* prev;
};

Voici le code qui me donne des problèmes:

struct key new_node = (struct key) calloc(1, sizeof(struct key));
struct key* curr_node = head;

new_node.key = new_key;

struct value head_value = (struct value) calloc(1, sizeof(struct value))

Suis-je pas penser à utiliser calloc sur les structures? Aussi, j'ai une structure que j'ai créée et puis je veux mettre qui à un pointeur du même type struct mais d'avoir une erreur. Ceci est un exemple de ce que je fais:

struct value x;
struct value* y = *x;

cela me donne cette erreur

error: invalid type argument of unary *’

Quand je le fais, y = x, j'obtiens cet avertissement:

warning: assignment from incompatible pointer type
Vous apprendre le C en posant des questions et en essayant différentes choses.. ainsi que de la lecture et de l'. Les gens comme vous sont si décourageant. Sérieusement? Vous ne pouviez pas écrire quelque chose de constructif?

OriginalL'auteur user972276 | 2012-01-26