Je construis un dictionnaire de listes liées avec une structure, avec chaque nœud de la liste défini comme suit :
typedef struct node node;
struct node
{
int key;
char value[ARRAY_MAX];
node *next;
};
Là où je rencontre des problèmes, c'est lorsque j'attribue des valeurs à la clé ou à la valeur dans mes fonctions insert et makedict. J'ai reçu les erreurs suivantes lors de l'affectation :
node* insert(node* start, char* vinput, int kinput) {
node* temp = start;
while((temp->next->key < kinput) && temp->next!=NULL) {
temp=temp->next;
}
if(temp->key==kinput) {
temp->key = kinput;
return temp;
} else {
node* inputnode = (node*)malloc(sizeof(node));
inputnode->next = temp->next;
temp->next = inputnode;
inputnode->key = kinput; /*error: incompatible types in assignment*/
inputnode->value = vinput;
return inputnode;
}
et :
node* makedict(char* vinput, int kinput) {
node* temp = (node*)malloc(sizeof(node));
temp->value = vinput;
temp->key = kinput; /*error: incompatible types in assignment*/
temp->next = NULL;
return temp;
}
Je sais que j'ai probablement manqué quelque chose d'incroyablement évident, mais j'ai lu ce code encore et encore sans succès. Toute aide est appréciée.