5

テンプレートを使用したコンパイルエラーは、テンプレートに精通していない限り、わかりにくく、簡単に解読できないことがよくあります。多くの場合、エキスパートプログラマーはこれらに悩まされることもあります。私たちのほとんどは、何度もそれのピンチを感じていると確信しています。

私が理解しているように、C ++標準は、不正な形式のプログラムの診断を提供するための実装のみを義務付けており、どのように、またはどのような診断メッセージを提供するかは義務付けていません。
ただし、テンプレートの場合、診断が(特に)簡単に解読できないというこの問題を克服するために、標準委員会によって定められたガイドラインはありますか。これは議論のために出てきたことがありますか?また、主流の実装はこの問題について何かをしている、または計画していますか?

質問は議論の余地がありますが、SO C++コミュニティは最も活発なC++コミュニティの1つであるため、誰かが少なくともこれについて何らかの考えを持っている必要があると確信しています。また、標準委員会のメンバーの何人か(私は知っています)がC++タグに積極的に参加しています。

4

2 に答える 2

5

あなたは2つの別々の質問をしています。

まず第一に、はい、主流の実装はそれについて何かをしています。これはg++またはmsvcの最優先事項ではないかもしれませんが、主流の実装はこれらだけではありません。これはclangの背後にある設計目標の1つであり(http://clang.llvm.org/diagnostics.htmlを参照)、少なくともある時点で、Intelはmsvcよりもic++のセールスポイントとしてより優れたテンプレートエラーを挙げました。

第二に、標準化委員会の人々はこれについて詳細に議論し、概念が答えの大部分であることにほとんど同意しました。これは、概念がC ++ 11標準から削除されたため、事実上、将来に延期されたことを意味します。

于 2012-05-24T18:54:44.737 に答える
3

特に人々がメタクラスでトリッキーなことを始めたとき、それは間違いなく問題です。私が知っている唯一のツールはstlfiltです。これは、「STL関連の診断に重点を置いて、長時間のC++エラーおよび警告メッセージを単純化および/または再フォーマットします」。

于 2012-05-24T18:46:42.927 に答える