On 25/07/2017 12:19, Andrey Semashev wrote:
On Tue, Jul 25, 2017 at 2:17 AM, Gavin Lambert wrote:
On 25/07/2017 06:26, Edward Diener wrote:
Thanks, John, I just fell asleep by not realizing you were talking about SFINAE ala enable_if etc. I am surprised that any compiler would operate differently in regard to SFINAE between using the C++03 'return-type some_function(etc.)' form and the C++11 'auto some_function(etc.) -> return-type' form, whether decltype was used or not.
They don't AFAIK, but you can't use the parameter types in an expression until after they are actually declared as parameters, thus requiring the auto -> form.
To be more precise, you can use parameter *types* but not parameter *names*. Types are declared by the template<...> prefix.
I thought there was also a related issue with template type inference that way though, but it's possible I'm misremembering.