===Utilisation de array avec enum class=== #include template class enum_array : public std::array(N)> { public: T& operator[](E e) { return std::array(N)>::operator[]( static_cast(e)); } const T& operator[](E e) const { return std::array(N)>::operator[]( static_cast(e)); } }; enum class ENUM { a, b, c, last }; int main() { enum_array t; return t.size(); } [[https://stackoverflow.com/questions/47972453/how-to-use-a-c-enum-class-enumerator-as-stdarray-index-without-an-explicit-c|How to use a C++ enum class enumerator as std::array index without an explicit cast]] {{ :lang:cpp:array:how_to_use_a_c_enum_class_enumerator_as_std_array_index_without_an_explicit_cast_-_stack_overflow_03_02_2023_11_05_49_.html |Archive du 25/12/2017 le 03/02/2023}}