No one. On purpose, that is. I can imagine doing it by accident.
> Using (void *) is a very minor loss of type matching.
"Minor" here is one of those things that can't be proved. Type
matching is a good thing, but it is not the "be all and end all". We
have to guess at the consequences of keeping or dropping it here.
>can dispatch the error to an appropriate routine. This can be useful in a
>library environment (e.g. OOMPI) that can catch *all* errors, do some
>processing (perhaps profiling types of things) and then pass the error on
>to the user.
I think you can achieve the same results with "B", although perhaps it
is more difficult. My guess is that the common case will be served by
C type matching, and that the benefits obtained via (void *) don't
make up the deficit. We'll have to agree to disagree.
-Ian
-- Ian E. Stockdale MRJ Technology Solutions, NASA Ames Research Center ies@nas.nasa.gov (415) 604-4628