0

つまり、3つの変数を宣言しました

TemplateData tData; TaskInstance tInstance;int tID;

私のプログラムで。それらを明確に宣言しましたが、「割り当てられていないローカル変数の使用」というエラーが表示され続けます。なぜコンパイラがこのエラーを出すのか完全に困惑しています。

4

6 に答える 6

1

それらを宣言しましたが、それらに値を割り当てていません。少なくとも、これらの変数を使用する前に の値を割り当てる必要がありnullます。そうしないと、未定義の値を に渡すことになりますProcessInput

于 2012-06-18T11:32:30.540 に答える
1

Compiler is absolutely correct. それらを宣言しましたが、コンパイラは「宣言されていないローカル変数の使用」を通知しませんでした。それはあなたに伝えます"Use of unassigned local variable"..

変数の宣言と代入には違いがあります...

値を変数に割り当てます。あなたのコードでは、

TemplateData tData = null;
TaskInstance tInstance = null;
int tID = 0;

また

TemplateData tData = new TemplateData();
TaskInstance tInstance = new TaskInstance();
int tID = 0;
于 2012-06-18T11:34:24.963 に答える
0

変数に値を割り当てていません。それがコンパイラエラーの言うことです。「割り当てられていないローカル変数の使用」と書かれています。変数の宣言割り当ての違いに注意してください。それらを使用する前に、それらをすべてnullまたは 0 (または他の適切なデフォルト値) に設定するだけです。

TemplateData tData = null;
TaskInstance tInstance = null;
int tID = 0;

値を代入せずに変数を使用すると、多くの場合バグの原因になる可能性があるため、コンパイラは不平を言います。

于 2012-06-18T11:33:32.693 に答える
0

これらの値をメソッドに渡す前に、これらの値を初期化する必要があります。

   TemplateData tData = new TemplateData();                 
   TaskInstance tInstance = new TaskInstance();                 
   int tID = 0; 
于 2012-06-18T11:35:00.170 に答える
0

これらの変数を初期化するだけです。

TemplateData tData = null; TaskInstance tInstance = null; int tID = 0;
于 2012-06-18T11:35:02.897 に答える
-1

変数を宣言するときは、常にデフォルト値または null 値を割り当てる必要があります。

            TemplateData tData = null;
            TaskInstance tInstance = null;
            int tID = 0;
于 2012-06-18T11:33:49.277 に答える