struct Boo { int a; Boo& operator->() { return *this; } }; int main(int argc, char **argv) { Boo boo; boo->a = 1; }