コンセプト (C++)
late_checkキーワードを用いて、部分的にコンセプトによるチェックを行わないように出来る。
しかし、その種のエラーは理解しがたいものになりやすく、特に初心者には非常に難解である。この理由としては、エラーメッセージにテンプレート引数が省略されずに表示され、非常に長いエラーメッセージが出力されてしまうことが多いことが挙げられる。コンパイラによっては、単純なミスが数キロバイトものエラーメッセージを出す結果になることもある。他の理由として、エラーメッセージがエラーの実際の理由を明確に示していないことがある、ということもある。例えば、コピーコンストラクタを持たないオブジェクトのvectorを構築しようとした場合、大抵の場合のエラーメッセージは「内包するオブジェクトにコピーコンストラクタを呼んでしまったvectorクラス」に言及するものになってしまう。熟練したプログラマでないと、本当のエラーが「vectorに渡した型がvectorの要件を満たしきれていないこと」がわからないだろう。
<type_traits>のコンセプト版。HasPlus(+演算子が使える)、DefaultConstructible(デフォルトコンストラクタによる構築が出来る)などの基本的な性質を表すコンセプトが集められている。
コンセプトをベースとした機能、およびコンセプトのライブラリも導入される予定であった。コンセプトの削除後はコンセプトを使わないように修正されている。修正後についてはC++0xを参照。