无法将结构分配给结构的指针

zby*_*ekh 0 c++ data-structures

所以我有这个简单的数据结构,我想从中打印所有字符,但我不能将n分配给n.next.我在java中编程了一下,这种事情起作用了.这段代码有什么问题?

#include <iostream>
using namespace std;

struct node{
    char c;
    struct node *next;
    struct node *prev;
};

typedef struct node NODE;

void printnode(NODE n){
    while(n.next){
        cout << n.c;
        n=n.next;
    }
}
Run Code Online (Sandbox Code Playgroud)

rul*_*lof 5

nNODEstruct node不过n.nextstruct node *让你无法assigne n.nextn.

为了使它工作,你可以改变你的函数参数:

void printnode(NODE *n) {
    while (n->next != NULL) {
        cout << n->c;
        n = n->next;
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我们使用->运算符来访问使用指针指向的结构的成员.