No one said a recompile wasn't allowed, plenty of things aren't possible in C++ without a recompile. All I'm saying here is that when you don't need polymorphism, which should be most of the time; overloaded functions do the same thing.
What folks are saying is that if it is a single dispatch, but based on the parameters, it is not multiple dispatch. Literally count the number of dispatches. If it is a single, it is not multiple.
I'm somewhat goal shifting by pointing out that with this you can get dynamic behavior without a full recompile, but really only a little. The entire point of this behavior is that the link in to the method is statically known to a point that can then do another dispatch where it will go to the correct place.
The visitor pattern is a somewhat ugly way of accomplishing this, true. But it is absolutely more powerful than method overloading.