As per the document, which says that[emphasis mine]:
template <class Fn, class... ArgTypes> struct is_invocable;Determines whether
Fncan be invoked with the argumentsArgTypes....Formally, determines whetherINVOKE(declval<Fn>(), declval<ArgTypes>()...)is well formed when treated as an unevaluated operand, where INVOKE is the operation defined in Callable.
How to understand the statement in bold? What's "an unevaluated operand"?
Maybe, a simple example helps to fully understand this matter.