What this C++ member-function invocation question tests
This is an easy question that probes your understanding of how C++ distinguishes between different ways to call member functions on objects and pointers. It rewards familiarity with the dot operator, the arrow operator, and the less-obvious implicit conversions and dereference rules that the language allows.
The question asks you to identify which syntax is not valid, which means you need to know not just the common patterns, but also the boundary cases where the compiler will reject an otherwise reasonable-looking invocation. This tests precision in language knowledge rather than algorithmic thinking.
- Dot operator vs. arrow operator semantics
- Implicit pointer dereference and address-of conversions
- Member-function binding and object lifetime