Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用局部变量';hitInfo';在宣布之前_C#_Unity3d - Fatal编程技术网

C# 无法使用局部变量';hitInfo';在宣布之前

C# 无法使用局部变量';hitInfo';在宣布之前,c#,unity3d,C#,Unity3d,在将我的项目更新到unity3d的最新版本后,我遇到了这个错误 错误CS0841:在声明局部变量“hitInfo”之前,无法使用该变量 " if(Physics.Linecast(head.position,vector,out-hitInfo,sphereSensor.obstaclayer)和Physics.Linecast(head.position,vector2,out-hitInfo,sphereSensor.obstaclayer)和Physics.Linecast(head.po

在将我的项目更新到unity3d的最新版本后,我遇到了这个错误 错误CS0841:在声明局部变量“hitInfo”之前,无法使用该变量 "

if(Physics.Linecast(head.position,vector,out-hitInfo,sphereSensor.obstaclayer)和Physics.Linecast(head.position,vector2,out-hitInfo,sphereSensor.obstaclayer)和Physics.Linecast(head.position,colliderTarget.bounds.center,out-raycashit-hitInfo,sphereSensor.obstaclayer))

代码有什么问题?

您必须在您的条件中更早地声明(
类型variableName
),因为它们是从左到右计算的,然后,在第一个条件下(
physical.Linecast(head.position,vector,out hitInfo,sphereSensor.obstaclayer)
)变量
hitInfo
还不存在

将代码更改为:

// Notice this ---------------------------------v--------v
if (Physics.Linecast(head.position, vector, out RaycastHit hitInfo, sphereSensor.obstacleLayer)
 && Physics.Linecast(head.position, vector2, out hitInfo, sphereSensor.obstacleLayer)
 && Physics.Linecast(head.position, colliderTarget.bounds.center, out hitInfo, sphereSensor.obstacleLayer))
// Type was removed there -------------------------------------------^
或在以下情况之前声明变量:

RaycastHit hitInfo;

if (Physics.Linecast(head.position, vector, out hitInfo, sphereSensor.obstacleLayer)
 && Physics.Linecast(head.position, vector2, out hitInfo, sphereSensor.obstacleLayer)
 && Physics.Linecast(head.position, colliderTarget.bounds.center, out hitInfo, sphereSensor.obstacleLayer))

只是想知道:hitInfo更新了多少次?通过哪个电话?你是对的@Cid谢谢,我没有注意到。现在修好了。谢谢,C#7推出后会有变化。