-Werror-sizeof-pointer-div
#include <type_traits> template < typename T, std::size_t N > constexpr std::size_t count_of(const T (&)[N]) { return N; } #define COUNTOF(a) std::integral_constant<std::size_t, count_of(a)>::value