2017-04-09 5 views
1

私はlintでプログラムをコンパイルすると、リント警告を出しています。この印刷メッセージのFacing Lint警告560:引数番号。 3はポインタでなければなりません

printf("[Line:%d] at [Func:%s] failed to detect device\n" 
             , __LINE__, __func__); 

誰も私を助けることができる、私はエラー

Warning 560: argument no. 3 should be a pointer 

の下に取得していますか?

+1

どのコンパイラを使用していますか? – iafisher

+0

gccバージョン4.9.2 20150212(Red Hat 4.9.2-6)(GCC) – Akaash

+1

おそらく、 '__func__'ではなく' __FUNC__'でなければなりませんか? –

答えて

1

元のコード(__func__)は正しいです。リントの警告は間違っています。

__func__は、1999年のC標準の改訂版「C99」の機能です。 FlexeLintは非常に高価な独自のソフトウェアであり、あなたは完全なマニュアルを無料で読むことさえできないので、私はこれについて確信することはできませんが、古いC89標準がデフォルトであることを強く疑う。コマンドラインオプションなど、C99モードにする必要があります。そのモードでは、元のコードを苦情なしに受け入れる必要があります。

関連する問題