1
在C++中實現鏈接列表數組時遇到了問題。我做了2個功能,一個插入和顯示。有人可以幫忙嗎?鏈接列表的數組
這是主要的功能
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)
在C++中有很少成爲[3個星程序員](一個原因HTTP://wiki.c2。 com /?ThreeStarProgrammer) – NathanOliver
無論您正在閱讀什麼書來學習C++,都要擺脫它,開始閱讀另一本書。 –
在你的函數的參數中,你有節點** q [100],它是一個三重指針。你想要的是節點** q或節點* q [100]。 – user3336523