gpt4 book ai didi

c - 将相同的结构成员分配给其他成员时,c 中的分配类型不兼容

转载 作者:太空宇宙 更新时间:2023-11-04 03:50:44 26 4
gpt4 key购买 nike

我正在使用 c-file 我在赋值中遇到类型不兼容的错误。
我的代码如下 -

typedef struct
{
float a1;
float a2; ....

float a26;
}CPS_Param;

typedef struct
{
int b1;
CPS_Param *Param;
}CPS_IPOP;


void main ()
{
CPS_Param pParam;
CPS_IPOP *pStr;

set_Param(&pParam,0.04,0.001,0.01,0.67,0.07,....26parameters);

.....my program

pStr->Param->a1 = pParam.a1;
...26 repeat

}

set_Param(CPS_Param *pParam,float Param1, float Param2,....26 assignments)
{
pParam->a1 = Param1; // here i am getting compatability error
pParam->a2 = Param2; // here i am getting compatability error
...
pParam->a26= Param26; // here i am getting compatability error
}

`

我的主要意图是......我想创建两个成员,一个像 pParam 一样普通,另一个像 *Param ,它在 (*pStr )。我将首先通过一个函数和作为参数传递的其他值来安装 pParam。最后,在程序结束时,我会将 pParam 参数直接复制到 *Param(在 *pStr 内)。但是在我编写程序时,我显示出作业不兼容。所有结构成员都是相同数据类型的不同参数,不能组合成数组。你能指出我犯的错误吗...

最佳答案

一方面,您没有为 CPS_IPOP 结构中的 CPS_Param 指针分配内存。所以当程序运行时你会得到一个segv。

你用的是什么编译器? Gcc 编译它就好了。

关于c - 将相同的结构成员分配给其他成员时,c 中的分配类型不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20764412/

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