一般的な値を保持できる構造体を作成しようとしています。以下のコードは機能しますが、ポインターから整数へのキャストについてコンパイラーの警告が表示されます。これは64ビットシステム上にあります。
struct node
{
void *key;
void *value;
};
void insert(struct node *ht, void *key, void *value)
{
ht->key = key;
ht->value = value;
return;
}
int main()
{
struct node *t = (struct node *)malloc(sizeof(struct node));
insert(t, (void *)3, (void *)5);
printf("[%d]->[%d]\n", (int)t->key,(int)t->value);
free(t);
return 0;
}
これが正しい方法かどうかさえわかりません。私はそれをちょっとハックしました。これを行う適切な方法があるかどうか教えてください。