I'm having trouble getting the size of this non-static member array of a class.
struct Foo
{
Foo() { std::cout << "Non-constexpr constructor\n"; }
int anarray[16];
};
template <typename T, int N> consteval int get_array_size(const T(&)[N]) { return N; }
int main()
{
constexpr int arraySize = get_array_size(Foo().anarray);
get_array_size(((Foo*)0)->anarray); // No constant expression
get_array_size(std::declval<Foo>().anarray); // No constant expression
}