error reported:
..\src\main.cpp:17:13: error: request for member 'rank' in 'deck.std::array<_Tp, _Nm>::operator[]<int, 52ull>(((std::array<int, 52ull>::size_type)card))', which is of non-class type 'std::array<int, 52ull>::value_type {aka int}'
Seeing both the "old way" and the c++11 std::array in one context helped me understand this better. Both take objects of a certain type and members. I was used to using an array of structs before c++11...and then it was lost on me with std::array--> but its a lot clearer now.