Существует ли причина, по которой неявный конструктор копирования для структуры, содержащей перечисление, не использует версию const
- или почему вообще не существует конструктора копирования? Я ожидал бы, что будет создан неявный конструктор копирования, т.е.
X(const X& x)
Я знаю, что есть правила, когда это может произойти, например, если переменная-член не имеет конструктора копирования или неконстантного конструктора копирования. Я предполагаю, что мой вопрос в том, как это относится к перечислениям и применимо ли это правило?
Добавление моего собственного конструктора копирования, похоже, работает.
Пример - какие, если таковые имеются, конструкторы копирования создаются неявно:
struct MyStruct {
int myInt;
double myDouble;
MyEnum myEnum;
};