gpt4 book ai didi

c++ - 类型 "void *"的值不能分配给类型 "RANDOMSTRUCT *"的实体

转载 作者:行者123 更新时间:2023-11-28 01:14:17 26 4
gpt4 key购买 nike

所以我在 void 中研究 malloc。我有一个代码:


int iInitRandomPhaseArrays(WS_ELEMENT *Aufbau, RANDOMSTRUCT **random)
{
WS_ELEMENT *Act;
int iCounter = 0, i;
RANDOMSTRUCT *dummy;

Act = Aufbau;

if (*random != NULL)
return -1;

while (Act != NULL)
{
if (Act->operation == Linsenarray)
iCounter++;
Act = Act->pNext;
}
if (iCounter)
{
dummy = malloc(iCounter * sizeof(random));

ran1_3ARG(&ran1_idum, &ran1_iy, ran1_iv);
dummy[0].idum = ran1_idum;
dummy[0].iy = ran1_iy;
memcpy(dummy[0].iv, ran1_iv, sizeof(ran1_iv));

for (i = 0; i < iCounter; i++)
ran1_3ARG(&dummy[i].idum, &dummy[i].iy, dummy[i].iv);
dummy[0].Anzahl = iCounter;
*random = dummy;
}



return iCounter;
}

此处错误:

不能将“void *”类型的值分配给“RANDOMSTRUCT *”类型的实体

谁能帮我解决一下?

最佳答案

改变行:

dummy = malloc(iCounter * sizeof(random));

说:

dummy = (RANDOMSTRUCT *)malloc(iCounter * sizeof(RANDOMSTRUCT));

关于c++ - 类型 "void *"的值不能分配给类型 "RANDOMSTRUCT *"的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59216011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com