c++ 来做链表(输入,打印出来),那里错了啊??

c++ 来做链表(输入,打印出来),那里错了啊??
#include
using namespace std;
struct Node
{
int coef;
int exp;
Node *next;
};

void create(Node* L, int l)
{
L = new Node;
L->next = nullptr;
Node* temp = L;
cout << "系数和次数";
for(int i = 0; i < l; i++)
{
Node* N = new Node;
cin >> N->coef;
cout << "X^";
cin >> N->exp;
cout << "+";
N->next = nullptr;
temp->next = N;
temp = N;
}
}
void print(Node* L)
{
Node* l;
l = L->next;
while(l != nullptr)
{
cout << l->coef << "X^" << l->exp << endl;
l = l->next;
}
}
int main()
{
Node* L1, * L2, *L3;
int l1, l2;
cin >> l1;
create(L1, l1);
print(L1);
}

create传入的不应该是一个Node*,它只是一个指针,你传递过去的可以看成一个 unsigned int 或者是一个形参,传递的指针过去只能对这个
指针指向的对象进行操作,不能修改这个指针,即L1的值,你可以传递一个指针引用,或者是传递一个指针的指针。即
Node ** 或者是 Node * &