Saya telah bermain dengan clang beberapa saat, dan saya menemukan "test / SemaTemplate / dependent-template-recover.cpp" (dalam distribusi clang) yang seharusnya memberikan petunjuk untuk memulihkan dari kesalahan template.
Semuanya dapat dengan mudah dipreteli menjadi contoh minimal:
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>();
}
};
Pesan kesalahan yang dihasilkan oleh dentang:
tpl.cpp:6:13: error: use 'template' keyword to treat 'f0' as a dependent template name
t->f0<U>();
^
template
1 error generated.
... Tapi saya kesulitan memahami di mana tepatnya seseorang seharusnya memasukkan template
kata kunci agar kode tersebut benar secara sintaksis?