c - 关于 void* 和泛型函数的问题

标签 c

我试图用 newElement 覆盖一个元素(大小未知)“copyHere”,但遇到问题。我将 copyHere 设置为我想要覆盖的 elementArr block :

void *copyHere = ((char *)elementArray + (i * elementSize));
copyHere = memcpy(copyHere, *newElement, elementSize);

我收到错误“无效使用 void 表达式”。我如何滥用 void * 或 memcpy?根据我的理解,我向 memcpy 提供目标内存块和源内存块以及我想要复制的源的大小。我已经做到了。对于 void *copyHere,我遍历了 elementArray(类型未知,但大小已知的 elementSize)来找到我想要覆盖的内存块。有什么线索吗?

最佳答案

删除 newElement 之前的 *。您不能(也不需要)取消引用 void 指针以将其传递给 memcpy

关于c - 关于 void* 和泛型函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5760885/

相关文章:

c - ISR(中断服务例程)中的信号量同步

C编程,GSL vector 库,错误: incompatible type for argument 1 of 'gsl_rng_uniform'

c - 是否可以将 "signals"传递给另一个控制台程序?

c - 字符数组的整数转换

C 客户端服务器未按预期工作

python - Visual Studio CL.exe 找不到 python.h

c - union 无法解码字节数组

iphone - 标签累加玩家在 GameOver 场景中的得分 : Objective-C

c - 将长值从 fork 进程传递给其父进程

c++ - 编译器标志更改时自动重新编译