私はしばらくclangで遊んでいましたが、テンプレートエラーから回復するためのヒントを提供するはずの「test / SemaTemplate /dependent-template-recover.cpp」(clangディストリビューション内)に出くわしました。
全体を簡単に最小限の例にまとめることができます。
template<typename T, typename U, int N> struct X {
void f(T* t)
{
// expected-error{{use 'template' keyword to treat 'f0' as a dependent template name}}
t->f0<U>();
}
};
clangによって生成されたエラーメッセージ:
tpl.cpp:6:13: error: use 'template' keyword to treat 'f0' as a dependent template name
t->f0<U>();
^
template
1 error generated.
...しかし、template
構文的に正しいコードにするために、キーワードをどこに挿入するのかを正確に理解するのに苦労していますか?