Skip to main content
Journey Uncommon Logo
JourneyUncommon
mediumC++SFINAE and enable_ifSingle-choice MCQ

Which statement about `void_t`-based detection vs. a `requires` clause is correct for testing whether `T` is incrementable?

// Approach A (SFINAE): template <typename T, typename = void> struct incrementable : std::false_type {}; template <typename T> struct incrementable<T, std::void_t<decltype(++std::declval<T&>())>> : std::true_type {}; // Approach B (concept): template <typename T> concept Incrementable = requires(T t) { ++t; };