#include <iostream>
#include <type_traits>

template <typename T>
struct A {
    int val = 0;

    template<size_t N,
             typename U = T,
             typename = std::enable_if_t<sizeof(U)>
            >
    A(int (&ar)[N]) {};
    
    A(){}
};

struct YES {};
struct NO;

int main() {
	int a[10];
    A<YES> y(a);
    A<NO> n;
    std::cout << "YES: " << y.val << std::endl
              << "NO:  " << n.val << std::endl;
}