out(filename.c_str()) ne fait pas ce que tu crois.
Tu ne rappelles pas le constructeur ofstream::ofstream(const char*) de ton objet out, mais tu tentes d'appeler ofstream::operator()(const char*),...