Similar problems happen even in C. Suppose you have this line inside a function:
X *y;
Are you declaring a pointer, or are you performing multiplication? It depends on what “X” is.