Non noti una incongruenza nella riga

cout << "a2.method(a1) vale " << a2->method(a3) << endl;