gpt4 book ai didi

c - 赋值 c 中的不兼容类型

转载 作者:行者123 更新时间:2023-12-02 05:03:17 25 4
gpt4 key购买 nike

我的头文件中定义了以下结构,

struct nl_packet {
int seq;
FRAMETYPE type;
CnetAddr dest;
CnetAddr src;
uint32_t checksum;
size_t length;
char data[NL_MAXDATA];
};


struct seq_Info {

int seqNum;
size_t length;
char data[NL_MAXDATA];

};

struct msg_Received {

CnetAddr src;
struct seq_Info seqInfo[BUFSIZ];
int lastReceived;

};

然后在另一个文件中,我有以下赋值伴随着“赋值错误中的不兼容类型”,

msgRec[i].seqInfo[j].data = packet.data;

我在相同的方法中确实有其他类似的语句,但它们工作得很好,

msgRec[i].seqInfo[j].seqNum = packet.seq;
msgRec[i].seqInfo[j].length = packet.length;

即使 nl_packet 结构和 seq_Info 结构中的数据字段具有相同的类型,那么是否会出现此错误??

提前致谢

最佳答案

您正在分配数组。你不能这样做。您必须复制数组内容。你可以这样做:

memcpy(msgRec[i].seqInfo[j].data, packet.data, sizeof(char)*NL_MAXDATA);

关于c - 赋值 c 中的不兼容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16663277/

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