e25.c

未使用引数


修正前 importantが未使用 void function(int important) { /* 処理 */ }
修正案1:いらない物は削除する void function(void) { /* 処理 */ }
修正案2:関数テーブルから呼ばれるので、 無用だが削除したくない時は 名前を変える void function(int dumy) { /* 処理 */ }
修正案3:lintの指示注釈を入れる /*ARGSUSED*/ void function(int dumy) { /* 処理 */ }
修正案4:デバッグルーチンの ダミー関数がコールされる時 #ifdef lint void function(int dumy) { /* 処理 */ } #endif

解説 テーブルで関数を呼ぶ場合、 呼び側では、引数の数を最大値にして、 一律に関数CALLし、 呼ばれ側では、引数の使用の有無を問わず 引数の数を最大値にして、 定義する事があります。 この時、lint,Review-Cは警告を出しますが、警告を抑止するには ARGSUSEDのコメントを関数定義側に記述します。