typedef void *STACK_ENTRY;
STACK_ENTRY *create_stack_entry(void *value) {
STACK_ENTRY *entry = malloc(sizeof(*value));
*entry = *value;
return entry;
}
我试图制作一个通用函数来创建一个STACK_ENTRY
应该具有任何类型的函数。因此,我将空指针用作参数。我用值类型的大小分配内存,然后将值提供给的指针STACK_ENTRY
。
但是我收到以下错误:
prog.c:34:9: error: void value not ignored as it ought to be
*entry = *value;
^
我该如何解决?
代码需要处理大小。通话时传递大小create_stack_entry()
。无需演员。
// STACK_ENTRY *create_stack_entry(void *value)
STACK_ENTRY *create_stack_entry(void *value, size_t size) {
STACK_ENTRY *entry = malloc(size);
if (entry) memcpy(entry, value, size);
return entry;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句