我认为它应该可行,我尝试做的是捕获一个值并将其打印在屏幕上,但是我收到以下错误。
C:\ Users \ luis \ Documents \ c ++ \ estructura de datos \ ejemplo_lista.cpp In function'void mostrar()': 80 13 C:\ Users \ luis \ Documents \ c ++ \ estructura de datos \ ejemplo_lista.cpp [错误]'list'未在此范围内声明 80 20 C:\ Users \ luis \ Documents \ c ++ \ estructura de datos \ ejemplo_lista.cpp [错误]'value'未在此范围内声明
------开始MAIN ---------------------------------
int main(){
menu();
show();
getch();
}
------结束MAIN ------------------------------------
//Function Menu
void menu()
{
NODE = NULL;
int choice;
int value;
while(choice!= 2){
printf("********** MENU **********\n");
printf ("1. Login data \n");
printf ("2. exit \n");
printf("**************************\n");
scanf ("%i",&choice);
switch (choice){
case 1:
printf("Please enter a value \n");
scanf("%i",&value);
add (list, value);
break;
case 2:
break;
}
system("pause");
}
}
输入功能
void add (NODE &list,int value)
{
NODE aux_list;
aux_list =(data_structure*) malloc (sizeof (data_structure));
aux_list->data = value;
aux_list->next = list;
list = aux_list;
}
void show()
{
NODE other_list;
add(list, value);
other_list = list;
/ / Display the elements of the list
while(other_list != NULL)
{
printf("%i \n",other_list->data);
other_list = other_list->next;
}
}
--------------------- edit ------------------------- -
ready to solve it this way
void mostrar(NODO lista,int valor)
{
lista=NULL;
答案 0 :(得分:1)
正如错误消息所示,在函数void mostrar()
中,您使用未在此函数范围内定义的变量lista
和valor
。
答案 1 :(得分:1)
在mostrar()
中,您尝试使用变量lista。但是未在此范围内声明的列表。您需要将其作为参数传递,或在函数中声明此变量以避免此错误。
答案 2 :(得分:1)
你忘了声明变量lista的类型, 或者可能将其声明为函数mostrar()中的参数。
NODO lista; /* This one */
void mostrar(NODO lista) /* Or this one */
对象lista必须可以在函数mostrar()中访问。
(更新:问题已更改为有英文标识符,因此我将在下面添加翻译版本):
NODE list; /* This one */
void show(NODE list) /* Or this one */