// Calling DFS with named parameters
    depth_first_search(*g, visitor(actions), root_vertex(source));

 The named parameter DFS only takes two parameters - sort of. The graph and a named_params composition. You probably need to write:

dfs(*g, visitor(actions).root_vertex(source));

Note the "." instead of a ",".

Andrew Sutton
andrew.n.sutton@gmail.com