1

私がやろうとしているのは、値をキャプチャして画面に出力することですが、次のエラーが発生します。

C:\Users\luis\Documents\c++\estructura de datos\ejemplo_lista.cpp 関数 '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 [Error] 'value' はこのスコープで宣言されていませんでした

------メインの起動---------------------------------

  int main(){

    menu();
    show();

     getch();
}

------メイン終了------------------------------------

//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;

     }

}

- - - - - - - - - - - 編集 - - - - - - - - - - - - -

ready to solve it this way void mostrar(NODO lista,int valor) { lista=NULL;

4

3 に答える 3

1

mostrar()変数 lista を使用しようとしています。しかし、リストはそのスコープで宣言されていません。このエラーを回避するには、パラメーターとして渡すか、関数でこの変数を宣言する必要があります。

于 2013-08-31T16:10:12.240 に答える
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 */ 
于 2013-08-31T16:11:30.780 に答える
1

エラーメッセージが示すように、関数void mostrar()では変数を使用listavalor、この関数のスコープでは定義されていません。

于 2013-08-31T16:09:41.240 に答える