【发布时间】:2011-11-15 14:04:17
【问题描述】:
我在 C 中有一个“通用”链接链接,它使用 void * data 将数据存储在节点中。
insertNode(linkedList * list, void *data);
//Storing/retrieving a string works fine;
char *str="test";
insertNode(list, str);
char *getback=(char *)node->data;
//Storing/retrieving an Int results a cast warning
int num=1;
insertNode(list,(void *)num);
int getback=(int)node->data;
这是因为 int 是 32 位的,而 void * 在 x64 机器上是 64 位的。消除此错误的最佳做法是什么?
【问题讨论】:
标签: c 64-bit void-pointers