He visto que insistes mucho en la pregunta y me he puesto a probar. El error que obtienes ¿es en el linkado?. Si es así, es porque las variables estáticas de una clase (sean o no plantillas) deben inicializarse/declararse aparte. Sería algo asi como
// declaración de la plantilla
template <class tipo>
class hola
{
public tipo hola;
};
// Aqui se declara/inicializa
template <class tipo>
tipo hola<tipo>::a; // puedes darle un valor, pero no es aconsejable
// porque no sabes tipo.
Ahora ya puedes usarlo sin problemas
main()
{
hola<int>::a = 3;
hola<float>::a = 5.6;
}
Se bueno.