![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.05.2011
Сообщений: 33
|
![]()
Здравствуйте,
Столкнулся с ситуацией ниже: Код:
error C2440: 'initializing' : cannot convert from 'int' to 'Color' 1> Conversion to enumeration type requires an explicit cast (static_cast, C-style cast or function-style cast) С другой стороны если поменять порядок полей в MStruct так: Код:
Не могли бы вы пояснить почему так происходит или кинуть ссылки где можно почитать. Вопрос сюда же. Можно ли инициализировать структуру "нулями" если она вся состоит из перечислений? Заранее спасибо. |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Я лично предпочел бы использовать ZeroMemory для инициализации. Ему по боку какого типа поля.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
потому что указав лишь одно значение, вы указываете значение первого поля структуры, в первом случае оно Color, что компиль и говорит.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#4 | |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2MrGukk
Цитата:
![]() c++ http://ideone.com/3Rw3n c http://ideone.com/CONmk
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance Последний раз редактировалось pproger; 06.08.2012 в 16:14. |
|
![]() |
![]() |
![]() |
#5 | ||
Пользователь
Регистрация: 09.05.2011
Сообщений: 33
|
![]() Цитата:
Цитата:
![]() Есть ли выход, если нужно определить структуру с 2-мя перечислениями и инициализировать её или всё-же нужно инициализировать все поля по-порядку? Последний раз редактировалось Stilet; 06.08.2012 в 20:20. |
||
![]() |
![]() |
![]() |
#6 | |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2MrGukk
Цитата:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 09.05.2011
Сообщений: 33
|
![]() |
![]() |
![]() |
![]() |
#8 | |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2MrGukk
Цитата:
2. если в рандомном порядке - инициализировать надо все члены вплоть до последнего перечисления. 3. если использовать современный С (а не кресты), то Код:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 09.05.2011
Сообщений: 33
|
![]() |
![]() |
![]() |
![]() |
#10 | |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2MrGukk
Цитата:
где? прошу заметить, что хотя код и коНпелируется, ошибка присутствует, ибо полю color установилось недопустимое для него значение (0), т.к у тебя enum с единицы. т.е это нужно отлавливать перед использованием переменной
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
инициализация из файла | CodeNOT | Общие вопросы C/C++ | 0 | 18.12.2010 20:32 |
Инициализация | Aleksey1989 | Общие вопросы Delphi | 10 | 11.09.2010 21:50 |
Инициализация | Krumyura | Общие вопросы C/C++ | 5 | 20.03.2010 23:37 |
Инициализация DirectX | Pedro | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 30.09.2009 21:06 |
[C++] Инициализация массива структур отдельно от объявления | MariyaL | Помощь студентам | 0 | 30.09.2009 12:27 |