警告およびエラー

ここでは、コンパイラーの警告およびエラーについて説明します。コンパイラーは、これらのメッセージとエラーを含むソース行を stderr に出力します。

警告

警告とは、C / C++ の規約には沿っているが、プログラミング言語の用法として問題のある部分を報告するメッセージです。デフォルトでは、コンパイラーは警告を表示します。適切なオプションを指定して、警告メッセージを抑止できます。警告メッセージが表示されても、変換もリンクも停止されません。また、警告メッセージが表示されても出力ファイルは影響を受けません。

次に、警告メッセージの代表例を示します。

   unknown pragma ignored [-Wunknown-pragmas] 

-W で始まる一部の警告は、否定形の -Wno- オプションを使用して無効にできます。例えば、-Wno-unknown-pragmas オプションは -Wunknown-pragmas オプションを無効にします。

エラー

エラーメッセージは、C / C++ の用法が構文的または意味的に間違っていることを報告します。該当する条件に当たればエラーメッセージは必ず表示されます。エラーメッセージが表示されると、そのエラーを含むモジュールのオブジェクト・コードが止まり、リンクの処理も止まりますが、他にエラーがないかどうかを調べる処理はそのまま続けられます。

次に、エラーメッセージの代表例をいくつか示します。

   expected ';' at end of declaration 
   unexpected type name 'b': expected expression 

警告およびエラーのオプションのサマリーは、以下を参照してください。

https://clang.llvm.org/docs/UsersManual.html#options-to-control-error-and-warning-messages .