gpt4 book ai didi

c++ - 将结构复制到另一个相同类型的结构时出错

转载 作者:行者123 更新时间:2023-11-30 05:04:36 24 4
gpt4 key购买 nike

下面是一个 C++ 片段,

struct node {
struct shm_ipc_msg_s msg;
struct node *next;
};

enqueue_shm_events(Queue *q, shm_ipc_msg *msg)
{
struct node *temp = new node;
temp->msg = msg; // error here!!!!
if (q->front == NULL)
q->front = temp;
else
q->rear->next = temp;
}

错误:

error: no match for 'operator=' in 'temp->node::msg = msg'

谁能帮我改正这个错误

提前致谢

最佳答案

你有两个问题:

  1. 你的类型名称不同
  2. 您正在将指针分配给非指针

修复 1:各种修复。一种可能性是 typedef struct shm_ipc_msg_s shm_ipc_msg

修复 2:将失败的行更改为 temp->msg = *msg; 以取消引用指针,以便您可以复制实际的结构内容

关于c++ - 将结构复制到另一个相同类型的结构时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48812549/

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