![]() |
|
Модераторы: bsa |
![]()
|
|
| SolRus |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
при наведении подсказка показывает error: требуется выражение, а при компиляции пишет
итак почему напрямую неудается присвоить? что то до меня никак не дойдет :( как следствие приходится делать именованую структуру (а) Вопрос два. дополнительный ;) и еще подскажите как присвоить b = 0x00640046; без ипользования доп. переменных, т.е. чтоб сразу одним оператором
Это сообщение отредактировал(а) SolRus - 13.8.2011, 07:21 |
||||||
|
|||||||
| asmdzen |
|
||||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: 3 Всего: 5 |
нужно писать так:
все что после ':' называется "списком инициализации"
Это сообщение отредактировал(а) asmdzen - 13.8.2011, 08:28 |
||||
|
|||||
| SolRus |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
не работает
|
||||||
|
|||||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
SolRus, студия ещё не доросла до списков инициализации, поэтому в студии можно только так
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| SolRus |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
2. изначальный вопрос был не об этом, а:
это в данном примере всего лишь два элемента в структуре, а если их штук 5-10? каждый инициализировать почленно? ну где же решение |
||||||
|
|||||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
я говорю про initializer_list, а не список инициализации в конструкторе.
честно говоря, если в структуре 10 полей, то инициализация их списком может привести к ошибкам - можно легко перепутать параметры местами, а при изменении следования полей вообще каша получится. Думаю, что initializer_list лучше использовать как раз, если в структуре всего пару полей, да ещё и разного типа. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| SolRus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
ясно... значит использовать короткую запись нельзя :(
я так понимаю к union это тоже относится... ps: спасибо borisbn и asmdzen за ответы _______________ но ведь так можно записывать:
почему же напрямую нельзя в b так записать? Это сообщение отредактировал(а) SolRus - 13.8.2011, 22:03 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Вообще-то параметры должны быть в круглых скобках…
Попробуй так my_class::my_class() : b( { 70, 100 } ) {} -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| SolRus |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
ошибка
![]() |
||||
|
|||||
| asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: 3 Всего: 5 |
Добавлено через 2 минуты и 59 секунд initializer_list работает потому что s только сейчас инициализируется, а b уже заинициализирован перед входом в конструктор значениями по умолчанию. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
если инициализировать его в списке инициализации конструктора - то нет. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: 3 Всего: 5 |
||||
|
||||
| SolRus |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
из всего что ниже моего последнего поста работает лишь вариант asmdzen с конструктором структуры:
учитывая что краткая запись (initializer_list) работает только при инициализации я подумал, что может сработать, но не работает:
mes, твой вариант не работает... если не прав приведи полноценный код
ps: и всеже изначальный вопрос сводился к тому чтоб сделать неименованную структуру и инициализровать сразу b короткой записью {} |
||||||||
|
|||||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
http://liveworkspace.org/code/a42e60309104...986d09ba1f9d85e Добавлено через 2 минуты и 56 секунд
и чтоб объект этой неименнованной структуры был член класса ? не получится.. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |