FAQ
QA・C/QA・C++
メッセージ・パーソナリティに関する
ID.
Q. C++プロジェクトのコンパイル依存性を軽減するメッセージは? QAC++2.5J
A.
翻訳単位間の依存性を軽減すると、コンパイル速度が改善するほか、前方宣言による設計境界およびモジュール化の強制に役立つことがあります。QA C++ 2.5Jでは、ファイルのインクルードの削減を可能にする操作によってこれらの目的に対応するロジックが導入されました。診断に含まれるのは、同じヘッダ の反復的なインクルード、不要なヘッダのインクルード、および直接のインクルードを避けるためにクラスとテンプレートを前方宣言している可能性などです。
これらメッセージを以下に示します。
- 1060: インクルードされたヘッダファイル'filename'は、直接このファイルによって使用されていません。
- 1061: ヘッダファイル'filename'は既にこのファイルにインクルードされています。
- 1062: クラス'name'はこのパスにおいて前方宣言されている可能性があります。
- 1063: クラス'name'はこのパスにおいて使用されていません。
- 1064: このパスでのクラス'name'の定義が遅い可能性があります。
- 1065: このパスでのクラステンプレート'name'の定義が遅い可能性があります。
さらに、次の3つのサブメッセージがこれらメッセージと共に出力される場合があります。
- 1490 (クラス'name'はこのヘッダでは使用されていません。)は、'name'がヘッダの中で全く参照されていない各ファイルで生成されます。
- 1491 (ここではクラス'name'の宣言が使用されています。)は、'name'は「参照」されているが定義は必要とされない各ファイルで生成されます。(すなわち、'name'がポインタまたは参照として使用されている場合)
- 1492 (ここではクラス'name'の定義が使用されています。)は、(ヘッダ・ファイルによる)型の定義が必要とされる場合に生成されます。