But it seems like a badly-designed overload set anyway, since you have one function name "interest" but the functions do two different things. It would probably be better if you had names that make what they do clearer, calc_interest_factor and calc_interest_major_minor or something (I have no idea what the "minor" argument means, so better names are probably possible).
“Use overloaded functions (including constructors) only if
a reader looking at a call site can get a good idea of what is happening without
having to first figure out exactly which overload is being called.”
If you have overloads with the same number of parameters, they had damn well better be (mostly) interchangeable, e.g. it doesn't really matter if you call std::pow(5.0, 2L) instead of std::pow(5.0, 2.0) because they do the same thing. If they perform different operations based on the type of the second argument, that's a bad API.