"Therefore there is no way you can get that code to compile unless X is a pointer -- he is why the typedef was needed." . . . .