Tengo el siguiente código:no puede referirse a un nombre de plantilla anidada en un parámetro de plantilla
template <typename Provider>
inline void use()
{
typedef Provider::Data<int> D;
}
Dónde estoy básicamente tratando de utilizar un miembro de clase de plantilla 'Datos' de alguna clase 'Proveedor', aplicado a 'int', pero obtengo los siguientes errores:
util.cpp:5: error: expected init-declarator before '<' token
util.cpp:5: error: expected `,' or `;' before '<' token
Estoy usando GCC 4.3.3 en un sistema Solaris.
posible duplicado de [C++ función de miembro de la plantilla de clase de plantilla llamada de función de plantilla] (http://stackoverflow.com/questions/1840253/c-template -member-function-of-template-class-called-from-template-function) –
@Kirill: Creo que este es único ya que requiere tanto 'typename' como' template'. (Luché por un tiempo sobre cómo explicar esto usando el mismo código y no estoy satisfecho.) – sbi
@sbi, sí, esto no es exactamente lo mismo, pero es una pregunta muy similar. –