use*_*101 2 c arrays copying incompatibletypeerror
我在头文件中定义了以下结构,
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;
};
Run Code Online (Sandbox Code Playgroud)
然后在另一个文件中,我有以下赋值,"赋值错误中的不兼容类型",
msgRec[i].seqInfo[j].data = packet.data;
Run Code Online (Sandbox Code Playgroud)
我在同一个方法中有其他类似的声明,但它们工作得非常好,
msgRec[i].seqInfo[j].seqNum = packet.seq;
msgRec[i].seqInfo[j].length = packet.length;
Run Code Online (Sandbox Code Playgroud)
即使两者都有,nl_packet struct和seq_Info结构中的数据字段具有相同的类型,那么这个错误会出现吗?
提前致谢
您正在分配数组.你不能这样做.您必须复制数组内容.你可以这样做:
memcpy(msgRec[i].seqInfo[j].data, packet.data, sizeof(char)*NL_MAXDATA);
| 归档时间: |
|
| 查看次数: |
512 次 |
| 最近记录: |