这是什么意思?该如何解决

这是什么意思?
C/C++ code

 namespace detail {
    // For partial specialization workaround
    enum event_visitor_enum
    { on_no_event_num,
      on_initialize_vertex_num, on_start_vertex_num,
      on_discover_vertex_num, on_finish_vertex_num, on_examine_vertex_num,
      on_examine_edge_num, on_tree_edge_num, on_non_tree_edge_num,
      on_gray_target_num, on_black_target_num,
      on_forward_or_cross_edge_num, on_back_edge_num,
      on_edge_relaxed_num, on_edge_not_relaxed_num,
      on_edge_minimized_num, on_edge_not_minimized_num
    };

    template<typename Event, typename Visitor>
    struct functor_to_visitor : Visitor
    {
      typedef Event event_filter;
      functor_to_visitor(const Visitor& visitor) : Visitor(visitor) {}
    };

  } // namespace detail


functor_to_visitor(const Visitor& visitor) : Visitor(visitor) {}//一个对象用来初始化一个类型?什么意思啊?

------解决方案--------------------
functor_to_visitor 继承 Visitor 
所以调用Visitor来初始化 functor_to_visitor中的Visitor 部分