OK, one thing I don’t miss about C++ is the error messages. Here’s an incredibly obtuse way to say something:
In file included from /usr/include/c++/4.4/bits/stl_algobase.h:67, from /usr/include/c++/4.4/bits/char_traits.h:41, from /usr/include/c++/4.4/ios:41, from /usr/include/c++/4.4/ostream:40, from /usr/include/c++/4.4/iostream:40, from ../src/Flipper.cpp:1: /usr/include/c++/4.4/bits/stl_iterator_base_types.h: In instantiation of ‘std::iterator_traits> > >’: /usr/include/CGAL/centroid.h:833: instantiated from ‘CGAL::CGALi::Dispatch_centroid > >, CGAL::Point_2 > > >’ ../src/Flipper.cpp:102: instantiated from here /usr/include/c++/4.4/bits/stl_iterator_base_types.h:127: error: no type named ‘iterator_category’ in ‘class CGAL::Point_2 > >’ /usr/include/c++/4.4/bits/stl_iterator_base_types.h:128: error: no type named ‘value_type’ in ‘class CGAL::Point_2 > >’ /usr/include/c++/4.4/bits/stl_iterator_base_types.h:129: error: no type named ‘difference_type’ in ‘class CGAL::Point_2 > >’ /usr/include/c++/4.4/bits/stl_iterator_base_types.h:130: error: no type named ‘pointer’ in ‘class CGAL::Point_2 > >’ /usr/include/c++/4.4/bits/stl_iterator_base_types.h:131: error: no type named ‘reference’ in ‘class CGAL::Point_2 > >’
Translation: you don’t need to include ‘centroid.h’.