我已宣布三个变量,即
TemplateData tData; TaskInstance tInstance;int tID;
在我的程序中。虽然我已经清楚地声明了它们,但我仍然收到错误“使用未分配的局部变量” 我完全不知道为什么我的编译器给出了这个错误。
答案 0 :(得分:1)
您已声明了,但您没有为其分配值。在使用这些变量之前,您必须至少指定一个值null
,否则您将未定义的值传递给ProcessInput
。
答案 1 :(得分:1)
Compiler is absolutely correct
。虽然您已经声明了它们,但Compiler没有告诉您“使用未声明的局部变量”。它告诉你"Use of unassigned local variable"
..
变量的声明和赋值之间存在差异 ...
将值分配给变量。在你的代码中它应该是
TemplateData tData = null;
TaskInstance tInstance = null;
int tID = 0;
OR
TemplateData tData = new TemplateData();
TaskInstance tInstance = new TaskInstance();
int tID = 0;
答案 2 :(得分:0)
您尚未为变量指定值。这就是编译器错误所说的。它说“使用未分配的局部变量”。请注意声明和指定变量之间的区别。在使用它们之前,只需将它们全部设置为null
或0(或其他一些适当的默认值):
TemplateData tData = null;
TaskInstance tInstance = null;
int tID = 0;
编译器抱怨是因为使用变量而没有为其赋值某些值通常会导致错误。
答案 3 :(得分:0)
在将这些值传递给方法之前,需要初始化这些值:
TemplateData tData = new TemplateData();
TaskInstance tInstance = new TaskInstance();
int tID = 0;
答案 4 :(得分:0)
只是初始化这些变量;
TemplateData tData = null; TaskInstance tInstance = null; int tID = 0;
答案 5 :(得分:-1)
当你声明变量时,你应该总是指定默认值或空值。
TemplateData tData = null;
TaskInstance tInstance = null;
int tID = 0;