Skip to main content
Journey Uncommon Logo
JourneyUncommon
hardC++template metaprogrammingSingle-choice MCQ

Why does the first overload get silently removed from the candidate set rather than causing a hard compile error when `T = int`, and what is the name of the principle at work?

template<class T> typename T::type f(T) { return {}; } template<class T> int f(T) { return 0; } int x = f(42);