-4

私のコードはこれです:

 bool lookup(...)
      { 
         for(...)
           if(...)
             {           
               if (...)
               {
               ...
               return true;
               }
               else
               {
               return false;
               }
             }
             else
             {
             return false;
             }   
      }

すべてうまくいっていますが、1 つのエラーが発生します。エラーは「エラー: コントロールが非 void 関数の終わりに到達する可能性があります」です。このエラーを解決する方法を教えてください。

4

3 に答える 3

4

あなたはこれを行うことができます:

bool lookup(string s)
{
    bool output = false;

    for (...)
    {
         if (...)
         {
              output = true;
              break;
         }
    }

    return output;
}
于 2013-01-21T04:32:28.090 に答える
1

forループが終了した場合に返される値は何ですか? return false何も見つからない場合は、おそらくそうする必要があります。

于 2013-01-21T04:31:44.627 に答える
0

これは基本的に、戻り値の型 (この場合は bool) を持つ関数内のコードがどこにも戻らない場所に到達したことをコンパイラが検出していることを意味します。

この場合、for ループの後に return を追加する必要があります (例: return false)。

于 2013-01-21T04:34:36.577 に答える