12 Jan
2014
12 Jan
'14
5:23 a.m.
2014/1/12 Hui Li
I tried your boost::has_call. Unfortunately it doesn't compile when the call for the given type and signature is ambiguous. Did you intend that it'd be false_type in that case (since you did seem to suggest that your has_call behave similarly to my has_valid_call) ?
Yes.
Submitted an issue on github: https://github.com/jamboree/boost.has_call/issues/1 .
I think it's a limitation in C++03 anyway, since to avoid the ambiguity you need SFINAE on expr, or do you have any idea? You raised an interesting issue I haven't thought of, but is it really needed to distinguish between no-viable-call and ambiguous-call?