「警告 C276: 条件式の定数」と「警告 C294: コードに到達できません」の 2 つの警告プロンプトを解決します。

お久しぶりです。最近、いくつかのプロジェクトが非常に忙しいため、あまり記事を投稿していませんでした。今日は、以前に遭遇した 2 つの警告について自由に共有します。

警告情報:

まず、2 つのアラームについて見てみましょう。1つ目のアラームは「警告 C276: 条件式の定数」、2 つ目のアラームは「警告 C294: コードに到達できません」です

これら 2 つの警告プロンプトは、次のコードから派生しています。

//错误代码
if(control_code = 0x00FF)   
{
    
    
    Beep_Led(1);
}
else if(control_code = 0xFF00)  
{
    
    
    Beep_Led(3);
}

よく見てみると、私が 2 つの間違いを犯したことがわかります。これら 2 つの間違いが原因で、コンパイラーは 2 つのプロンプトを私に報告しました。最初の間違いは、if() で = を使用すべきではなく、 = を使用すべきであるということです。 == そう、= を使用することは変数に定数を代入することと同じなので、コンパイラが表示する最初の警告は「警告 C276: 条件式の定数」(警告 C276: 条件式の定数) です。

次に、もう一度見てみましょう。if の条件式が true ではないため、if は判断できず、次の else if も true ではないため、コンパイラは 2 番目の警告を表示します。「警告 C294: コードに到達できません」(警告) C294: 到達不能なコード) コード)、2 番目の else if() の条件式の = も == に変更する必要があります。

解決:

このような状況が発生した場合は、条件式または論理ステートメントに問題があるかどうかを確認してください。問題が見つかったら、修正して解決できます。したがって、上記の
正しいコードは次のようになります。

//正确代码
if(control_code == 0x00FF)     //将"="修改为"==",修改完逻辑语句正确,else if也就成立
{
    
    
    Beep_Led(1);
}
else if(control_code == 0xFF00)  //将"="修改为"=="
{
    
    
    Beep_Led(3);
}

上記の例はケースとして使用でき、同様の問題が発生した場合は、この方法に従って検索して修正できます。

私のレベルは限られており、上記の情報は学習の参考のみです。間違いや不適切な点があれば、ご指摘ください。
また、作成するのは簡単ではありません、盗用しないでください、皆さんに役立つなら、皆さんに気に入っていただければ幸いです、ありがとう~

おすすめ

転載: blog.csdn.net/OMGMac/article/details/127838006