Me respondo a mi mismo, el problema era con
. Exactamente con sstm.str(). Todo funciona correctamente si en lugar de poner eso coloco un string con el contenido del sstm.str(). Es decir:
Código:
// Obtenemos la ruta del archivo
std::stringstream sstm;
sstm << rootDirectory << filename;
std::cout<<"Load file "<<sstm.str()<<std::endl;
std::string path = sstm.str();
// Creamos un nuevo objeto del tipo enviado
T* t = new T;
// Llenamos el objeto
t->Load(path);