并非所有的代码路径返回一个值:团结

问题描述:

我有一段代码用的并非所有的代码路径返回一个值:团结

错误编译“并非所有的代码路径返回一个值”

我不知道如何解决这个问题。有任何想法吗?这是我的代码。

bool EnemyIsAlive() 
{ 
    searchCountdown -= Time.deltaTime; 
    if (searchCountdown <= 0f) 
    { 
     searchCountdown = 1f; 
     if (GameObject.FindGameObjectWithTag("Enemy") == null) 
     { 
      return false; 
     } 
    return true; 
    } 
} 
+0

的可能的复制并[c#返回错误“不是所有的代码路径返回一个值”](http://stackoverflow.com/questions/21197410/c-sharp-returning-error-not-all-code-路径返回-a值) – Serlite

EnemyIsAlive()应为所有可能的条件返回一个布尔值;在你的情况下;如果if (searchCountdown <= 0f)评估为false,该方法将不会返回任何内容。所以你需要为false条件添加一个return语句。根据您正在处理的情况,它可能为true/false,但回报应该在那里。

bool EnemyIsAlive() 
{ 
    searchCountdown -= Time.deltaTime; 
    if (searchCountdown <= 0f) 
    { 
     searchCountdown = 1f; 
     if (GameObject.FindGameObjectWithTag("Enemy") == null) 
     { 
      return false; 
     } 
    return true; 
    } 
    return false; // one line added to solve the error 
}