enum floating_point_comparison_type { FPC_STRONG, FPC_WEAK }; struct check_is_close_t { #ifdef __BUG__ template #else typedef double FPT; typedef double PersentType; #endif bool operator()( FPT left, FPT right, PersentType percentage_tolerance, floating_point_comparison_type fpc_type = FPC_STRONG ) { return ( false ); } }; void test () { check_is_close_t check_is_close; check_is_close ( 1.0, 1.0, 0x1p-52 ); }