0

静的コード分析を実行していて、警告が見つかりました。

以下のコード スニペットでは、コードで指定されているように警告が表示されます。警告を解決するために次のコードを実装する回避策はありますか?

int foo(bool cond)
{
    int var = 0; // Value of "var" never used after initial
    if(cond){
       var = 10; // Value of "var" never used after assignment
    }
    else{
       var = 20; // Value of "var" never used after assignment
    }
    return var;
}

void main(){
    cout << foo(true);
    return;
}
4

1 に答える 1

1

明らかなことは、最初のデッド割り当てを削除することです。

int foo(bool cond)
{
    int var; // Declare, but don't initialise
    if (cond) {
       var = 10;
    } else {
       var = 20;
    }
    return var;
}

または (より良い)、変数を完全に削除します。

int foo(bool cond)
{
    return cond ? 10 : 20;
}
于 2021-02-23T12:43:49.053 に答える