Допустим есть вот такой код:
#define X 0
#define Y X
#undef X
Y; // error C2065: 'X': undeclared identifier
Можно ли как-то по-хитрому объявить Y так, чтобы вместо него в дальнейшем подставлялось то что было X на момент объявления Y (до #undef X)? Типа как бы запомнить что было объявлено как X?