| ふぢのLINT講座 |
LINTのエラーには、以下のものがあります。
エラーメッセージをクリックすれば、詳細な説明および実例を表示します。
| LINTメッセージ | |
|---|---|
| メッセージ | 意味 |
| argument unused in function | 関数の引数が使用されませんでした |
| argument used inconsistently | 調査中 |
| array subscript cannot be > N1:N2 | 配列要素の添え時の値が配列上限を超えています |
| array subscript cannot be negative:N1 | 配列の添え字が負の値になっている |
| assignment causes implicit narrowing conversion | 元の型よりも小さなサイズの変数に代入された |
| assignment of negative constant to unsigned type | unsigned型の変数に負の定数が代入されました |
| assignment operator "XXX" found "YYY" was expected | "YYY"の演算子が好ましいと思われる場所に代入演算子"XXX"を発見した |
| assignment type mismatch | 調査中 |
| bitwise operation on signed value possibly nonportable | ビット演算子のオペランドが符号付き整数型の変数でした |
| constant in conditional context | 一定の値を持つ条件式を検出した |
| constant operand to op:"!" | NOT演算子のオペランドが定数でした |
| constant truncated by assignment | 値の代入時に値の切り詰めが発生した |
| conversion of pointer loses bits | ポインタが整数型の変数に代入されました |
| conversion to larger integer type may sign-extend incorrectly | 単なるchar型の変数が、それより大きい整数型の変数に代入された |
| declared global, could be static | グローバル変数を静的変数にするように勧める |
| declaration unused in block | 外部変数または外部関数が宣言されたが内部ブロックで使用されていません |
| equality operator "==" found where assignment "=" expected | 代入演算子があるべき場所に比較演算子がありました |
| evaluation order undefined: XXX | 評価順序が明らかでないシンボル"XXX"を検出した |
| fallthrough on case statement | caseステートメントへ抜け落ちる箇所を検出した |
| function argument( number )declared inconsistently | プロトタイプ宣言または定義内のパラメータの型が、別の宣言または定義内のパラメータの型と異なっている |
| function argument( number )used inconsistently | 関数呼び出しでの引数の型が、関数定義内のパラメータの型と一致していない |
| function argument( number )type inconsistent with format | 引数が、[fs]printf(),[fs]scanf()関数呼び出しの制御文字列内の変更指定と矛盾している |
| function called with variable number of args | 関数パラメータの数が異なるものを検出した |
| function declared with variable number of arguments | 関数プロトタイプの宣言または、パラメータの個数が別の宣言または定義でのパラメータの個数と異なっている |
| function falls off bottom without returning value | void関数が呼び出し側の関数に値を戻していません |
| function must be of type int : main() | ANSI C規約に反して、intを返さないmain()を使用しました |
| function returns pointer to [automatic/parameter] | 関数が自動変数またはパラメータへのポインタを返しました |
| function returns value that is sometimes ignored | 関数がreturn文を含んでおり、その関数に対する呼び出しの一部がその戻り値を無視しました |
| function returns value witch is always ignored | 関数の返した値が無視されている |
| function value is used, but none returned | void関数がreturn文を含んでいないのもかかわらず、式の中でその関数の値が使用されました |
| implicitly declared to return int: XXXX | 調査中 |
| identifier redeclared | 調査中 |
| logical expression always false:op "&&" | 論理AND式が2つの異なる定数に対する同じ変数の同等性を検査したか、またはオペランドとして0をとりました |
| logical expression always true:op "||" | 論理OR式が2つの異なる定数に対する同じ変数の同等性を検査したか、またはオペランドとして0以外の整数定数をとりました |
| loop not entered at top | 先頭でない場所から入り込まれたループを検出した |
| malformed format string | [fs]printf(),[fs]scanf()関数の制御文字列の形式に誤りがありました |
| may be indistinguishable due to truncation | プログラム内の外部名は他のマシンへの移植時に識別されない可能性があります |
| name declared but never used or defined | staticでない外部変数または外部関数が定義されたが、どのファイルでも使用または定義されていません |
| name defined but never used | 変数または関数が、どのファイルでも使用されません |
| name multiply defined | 変数が複数のソースファイルで定義された |
| name used but not defined | 宣言されていない外部変数、関数を検出した |
| nonportable bit-field type | signed intまたはunsigned int以外のビット・フィールド型が使用されました |
| nonportable character constant | プログラム内にある複数文字からなる文字定数が移植できないかもしれません |
| only 0 or 2 parameters allowed : main() | main関数がANSIの規約に反して、1個だけ、または3個以上のパラメータで定義されました |
| operand cannot have void type | 調査中 |
| pointer cast may result in improper alignment | ある型へのポインタが、それよりも厳密な境界整列条件を持つ型へのポインタに型変換された |
| pointer casts may be troublesome | ある型のポインタが、異なった型へのポインタに型変換されました |
| precedence confusion possible; parenthesize | 論理演算子とビット単位演算子が混同する式が括弧で囲まれていません |
| precision lost in bit-field assignment | 定数がビットフィールドに代入されましたが、ビットフィールドが小さいため値を切り捨てなければ保持できません |
| prototype mismatch: XXX arg passed, YYY expected | 調査中 |
| set but not used in function: XXX inc funcYYYY | 関数“YYYY”で変数“XXX”が宣言・設定されましたが、使用されませんでした |
| statement has no consequent:if | if文の“if”の部分が空になっている |
| statement has no consequent:else | if文の“else”の部分が空になっている |
| statement has null effect | 効果のないステートメントを検出した |
| statement not reached | 処理が行われないステートメントを発見した |
| static unused | 使われていない静的変数を検出した |
| suspicious comparison of char with XXX :op "op" | 単なるchar型の変数に対して、その変数が負の値を持っているかのような比較が行われました |
| suspicious comparison of unsigned with XXX :op "op" | unsigned型の変数に対して、その変数が負の値を持っているかのような比較が行われました |
| semantics of "XXX" change in ANSI C; use explicit cast | 調査中 |
| too few arguments for format | [fs]printf(),[fs]scanf()関数の制御文字列の変換指定が、引数の個数よりも多いことを検出した |
| unused label | 使用されていないラベルを検出した |
| value type declared inconsistently | ある関数の宣言または定義内の戻り値と、他の関数の宣言または定義内の戻り値の型が一致してません |
| value type used inconsistently | 関数呼び出しの戻り値の型が、その関数定義内の戻り値と一致していません |
| variable may be used before set: XXX | 変数"XXX"は初期化されるまえに使用された |
| variable unused in function: XXX in funcYYYY | 関数“YYYY”で使用されていない内部変数“XXX”を検出した |