_>Здравствуйте, folk, Вы писали:
F>>Можно попробовать так: ...
_>Согласен Правда столкнулся я здесь:
[] _>Не хочеться исходники чужие исправлять.
Немного в сторону. Вот подумалось, что объекты-перечисления лучше инициализировать энумератором, а не zero-initialization. Если среди энумераторов нет ни одного со значением ноль, то некрасиво получится. Хоть и законно.
Здравствуйте, folk, Вы писали:
F> F>Немного в сторону. Вот подумалось, что объекты-перечисления лучше инициализировать энумератором, а не zero-initialization. Если среди энумераторов нет ни одного со значением ноль, то некрасиво получится. Хоть и законно.
Согласен, но как определить другой конструктор? В своей задаче, я могу определить понятие значение по умолчанию, и определить что то вроде def_value<Enum>::value (тем более у меня, все равно, все генерируеться автоматически из XML). Но это только частный случай. Для общего случая пользуюся конструктором по умолчанию, а то что он zero-initialization или нет, это претензии к стандарту
Здравствуйте, Аноним, Вы писали:
А>а чего хочет человек, который пишет А>
А> My(): x() {} // 9
А>
А>? Видно, что он хочет проинициализировать поле x.
Нет. Хочет просто вызвать конструктор по умолчанию на VC 7.1. больше ничего!!! См. остальные посты почему и как это происходит. Тот пример который я дал это минимальный не работающий код, который должен работать. Обсуждать смысловую нагрузку минимального тестового примера не интересно.
А>Бред! Такой же как и писать просто int i; И даже int i = int(). Так как не всегда в определенном контексте в допустимые по смыслу значения i входит 0 .