以下のエラーを検出することが出来ます。
(実例1)
main() { short sbuf; long lbuf = 0;
sbuf = lbuf; return(); }
|
long型の変数“lbuf”の内容を、short型の変数“sbuf”に代入している。
補足
このメッセージは、関数の戻り値の型にshortなどを使用した場合にも出力されるようです。理由は現在調査中です。 このメッセージの対策には、以下のものがあります。
- 型変換を明示的なものに修正する。
- lint実行時に”−a”オプションを付ける。
“−a”オプションを付けてlintを実行すると、本当に間違っている箇所が出力されなくなるので、極力2の“明示的に型変換を行う”ようにしましょう。
|