In order to properly disable template functions with `std::enable_if` we need to use the resulting type. This only works if we use a dependent type in the template params, hence the need to shadow the `T` param. Proper usage is now of the form: template<typename Q = T, typename EnableIfChar = CharOnlyT<Q>> Foo();
5.0 KiB
5.0 KiB