Hi mahmoodn, In your code snippet, this Circular_arc_2 routine is malformed C++. virtual typename Vertex_feature_2::Type type () const { return (CIRCULAR); } Change it to this: virtual typename VVc_diagram_2<Traits_, AppKernel_>::Vertex_feature_2::Type type () const { return Vertex_feature_2::CIRCULAR; } Or introduce a helpful typedef in Circular_arc_2: typedef typename VVc_diagram_2<Traits_, AppKernel_>::Vertex_feature_2::Type Type; virtual Type type () const { return Vertex_feature_2::CIRCULAR; } HTH, --Eljay