このオプションでは、構文解析およびセマンティック検査をテンプレート定義 (クラス・テンプレート定義、関数本体、メンバー関数本体、および静的データ・メンバー初期化指定子) に適用するか、テンプレートのインスタンス化にのみ適用するかを指定します。コンパイラーは、テンプレート定義内の関数本体と変数初期化指定子を検査して、エラー・メッセージまたは警告メッセージを生成することができます。
.-no----. >>- -q--tmplparse--=--+-warn--+-------------------------------->< '-error-'
サブオプションは、以下のとおりです。
なし テンプレート定義を構文解析しません。これにより、以前のバージョンの VisualAge C++ および以前の製品用に作成されたコードで発生するエラーの数を減らすことができます。これはデフォルトです。 warn テンプレート定義を構文解析し、意味エラーの場合に警告メッセージを発行します。 error テンプレートのインスタンスが生成されない場合でも、テンプレート定義内の問題をエラーとして扱います。
このオプションは、テンプレートのインスタンス化ではなく、テンプレート定義に適用されます。このオプションの設定に関係なく、定義の外側で問題が起こるとエラー・メッセージが生成されます。例えば、次のように構成の構文解析またはセマンティック検査中にエラーが見つかると、必ずエラー・メッセージが生成されます。
C++
テンプレートの使用も参照してください。