Bir süredir clang ile oynuyorum ve bir şablon hatasından kurtarmak için ipuçları sağlaması beklenen "test / SemaTemplate / bağımlı-şablon-recovery.cpp" (clang dağıtımında) ile karşılaştım.
Her şey kolayca asgari bir örneğe indirgenebilir:
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 tarafından verilen hata mesajı:
tpl.cpp:6:13: error: use 'template' keyword to treat 'f0' as a dependent template name
t->f0<U>();
^
template
1 error generated.
... Ama template
kodun sözdizimsel olarak doğru olması için anahtar kelimeyi tam olarak nereye eklemesi gerektiğini anlamakta güçlük çekiyorum ?