How can I understand what is declared here: (this is taken from another post on this forum)
template<typename C> static char (&f(ChT<int Fallback::*, &C::x>*))[1];
Here's how I read:
template of static function f
called with (ChT<int Fallback::*, &C::x>*)
, but then I can't make sense why is there an address-of operator and why is there an array?
I'm still learning how to understand C++ declarations, so please explain this slowly and carefully.