c++ - 无法在赋值中将 'listNode**' 转换为 'listNode*'

标签 c++ linked-list

创建简单链表时出错。
错误消息是 cannot convert 'listNode**' to 'listNode*' in assignment

代码:

struct listNode {
    const char *data;
    listNode *link;
};


int main(){
    listNode *node = new listNode;
    node->data = "Adley";
    node->link = NULL;

    listNode *node2 = new listNode;
    node2->data = "Bert";
    node2->link = NULL;

    listNode *node3 = new listNode;
    node3->data = "Colin";
    node3->link = NULL;

    node->link = &node2;
    node2->link = &node3;

    for(listNode *i = &node; i != NULL; i = i->link){
        std::cout << i->data << std::endl;
    }

    return 0;
}

我知道这个问题很容易解决,但很抱歉我的大脑现在很困惑。

最佳答案

变化:

node->link = &node2;
node2->link = &node3;

收件人:

node->link = node2;
node2->link = node3;

删除与号 (&)。 node2node3 已经是指针。无需指向指针:)

关于c++ - 无法在赋值中将 'listNode**' 转换为 'listNode*',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25835396/

相关文章:

c++ - 你能通过保证多个线程不会访问同一个内存来避免锁定吗?

c++ - 使用继承来添加功能

c - 函数迭代从文本文件接收到的相同输入

消除冗余元素的链表的复杂性

java - 在字符串链表的链表中查找重复项的最有效方法 - java

c - 在C中如何使链接列表中的最后一个元素指向null

c++ - 如何在CUDA中将数据从unsigned int复制到ulong4

c++ - 函数模板中的数组类型推导

c++ - 使用 OpenCV 计算物体的面积

java - 获取LinkedList中的所有元素,异常