У меня есть следующий фрагмент кода:
enum { one } x;
enum { two } y;
x = y;
Это будет скомпилировано в C, но в С++ я получаю следующую ошибку:
test.c:6: error: cannot convert ‘main()::<anonymous enum>’ to ‘main()::<anonymous enum>’ in assignment
Может кто-нибудь объяснить мне, почему это происходит? Я бы предпочел ответ с некоторыми особенностями, почему компилятор ведет себя таким образом, а не просто "Вы не можете этого сделать"