Pues la verdad es que si. Lo que pasa es que el código es algo extenso por eso no lo mostré entero.
Como estaba intentando depurar la clase Grafo, la he cogido y la estaba trasteando por fuera del programa.
Por otro lado estoy pensando que los functores no tienen que estar tan aislados del programa que los maneja. De hecho esa es precisamente su misión, aislar el grafo y crear funciones "ad hoc" adaptadas al programa que va a hacer uso del grafo. Espero estar no muy equivocado en esto....esto es la consecuencia de coger el programa un año después y volver a reconsiderar cosas que en su día ya las tenía más que claras.
Por cierto, que estoy intentando pegar el código pero es largo y no me deja