You can define functions as overloaded or with default arguments. For the user of the defined function, if it is defined by overloading or by default arguments should be completely indifferent.
-- Summary: Unconsistent handling of overloaded vs default arguments to functions Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: vonbrand at inf dot utfsm dot cl GCC host triplet: i386-redhat-linux GCC target triplet: i386-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35106