AB
template <class T>
class Foo {
T m_inner;
public:
template <class U>
explicit(!std::is_convertible_v<U, T>) Foo(U&& u): m_inner(std::forward<U>(u)) {}
};
Size: a a a
AB
template <class T>
class Foo {
T m_inner;
public:
template <class U>
explicit(!std::is_convertible_v<U, T>) Foo(U&& u): m_inner(std::forward<U>(u)) {}
};
m
enable_if
.A
AB
enable_if
.🎄T
error C2938: 'std::enable_if_t<false,int>' : Failed to specialize alias template
std::enable_if_t
вроде нельзя явно пихать false, надо чтобы выражение считалось при инстанцировании. Мб std::enable_if_t<!std::is_same_v<T,T>, int>
ПК