我在用C ++实现链接列表数组时遇到麻烦。我做了两个功能,一个插入并显示。有人可以帮忙吗?

这是主要功能

node* a[100],*b,*temp,*temp2;
for(int i=0;i<100;i++)
{

    a[i]=NULL;;
}

insert_node(a,1,143);
display(a,1)


这是插入功能

void insert_node(node **q[100],int pos,int data)
{
node *temp,*temp2;
if(*q[pos]==NULL)
{
    temp=new node;
    temp->next=NULL;
   temp->data=data;
   *q[pos]=temp;
}
else
{
    temp2=*q[pos];
    while(temp2->next != NULL )
    {
        temp2=*q[pos];
        temp2=temp2->next;
    }
    temp=new node;
    temp->next=NULL;
    temp->data=data;
    temp2->next=temp;
}
}


这是显示功能

void display(node **q[100], int pos)
{
node * temp;

temp=*q[pos];
cout<<"\n";
while(temp->next != NULL)
{
    cout<<" "<<temp->data;
}
}


它给出了错误

error: cannot convert 'node**' to 'node***' for argument '1' to 'void insert_node(node***, int, int)'

error: cannot convert 'node**' to 'node***' for argument '1' to 'void display(node***, int)

最佳答案

更改

void insert_node(node **q[100],int pos,int data)




void insert_node(node *q[100],int pos,int data)




void display(node **q[100], int pos)




void display(node *q[100], int pos)

10-07 19:24