He estado jugando con clang un tiempo, y me encontré con "prueba/SemaTemplate/dependent-template-recover.cpp" (en la distribución clang) que se supone que proporciona sugerencias para recuperar de una plantilla error.error de plantilla confusa
Todo esto se puede extraer fácilmente abajo a un mínimo ejemplo:
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>();
}
};
El mensaje de error producido por ruido metálico:
tpl.cpp:6:13: error: use 'template' keyword to treat 'f0' as a dependent template name
t->f0<U>();
^
template
1 error generated.
... Pero tengo dificultades para comprender dónde exactamente Se supone que uno debe insertar la palabra clave template
para que el código sea sintácticamente correcto.
¿Intentó insertarlo donde apunta la flecha? –
Similar a [esto] (http://stackoverflow.com/questions/3691420/compiler-error-when-using-integer-as-template-parameter/) y [this] (http://stackoverflow.com/questions/3621719/c-template-syntax) –