|
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 8
|
||||||
Компилятор не хочет компилировать11.05.2017, 13:21. Показов 1545. Ответов 3
Доброго дня. Начинаю изучать составные литералы в c++. Использую Microsoft Visual C++ 2010 Express.
Ниже, собственно, код. Использую я это для хранения и инициализации информации о GUI. Прочитал, что этот способ заменит огромный код, который бы пришлось писать.
- error C3852: 'parameterProperties_struct::x' having type 'const int': aggregate initialization could not initialize this member - error C2512: 'parameterProperties_struct: arameterPr operties_struct' : no appropriate default constructor available- error C2078: too many initializers - error C2143: syntax error : missing '}' before '.' - error C2073: 'parameterProperties' : elements of partially initialized array must have a default constructor - error C2512: 'parameterProperties_struct' : no appropriate default constructor available - error C2143: syntax error : missing ';' before '.' - error C2059: syntax error : '.' - error C2143: syntax error : missing ';' before '}' - error C2447: '{' : missing function header (old-style formal list?) - IntelliSense: expected an expression Как лечит этот код?) Подскажите, где может быть подводный камень и как его вытащить? Заранее спасибо, всем кто обратит внимание. Вы поможете написать диплом
0
|
||||||
| 11.05.2017, 13:21 | |
|
Ответы с готовыми решениями:
3
НЕ хочет компилировать Не хочет компилировать часть сервер Visual c++ не хочет компилировать, в отличие от MinGW |
|
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
|
||||||
| 11.05.2017, 13:33 | ||||||
Сообщение было отмечено eekr как решение
Решение
странная какая-то инициализация. где вы такую видели
вот:
1
|
||||||
|
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 8
|
|||||||||||||||||||||
| 12.05.2017, 10:34 [ТС] | |||||||||||||||||||||
|
Т.е. вы такое не встречали?
Вот описание этого Подобный синтаксис с фигурными скобками {} это относительно новый прием в C/C++, который называется «составные литералы» Основная идея в том, что так можно инициализировать структуры и массивы. Внешние скобки инициализируют массив parameterProperties[], они содержат разделенный запятыми список составных литералов, каждый из которых инициализирует одну parameterProperties_struct. Давайте разберем это на примере первого литерала:
Старым подходом было бы написать так:
Это пришлось бы делать для каждого параметра! «Классический» подход к составным литералам для структур struct выглядит так:
Очень лаконично, но подвержено ошибкам. Если добавить что-нибудь в начало struct или изменить порядок следования элементов, появятся проблемы. Лучше использовать назначенные инициализаторы, хоть и придется больше печатать. Это чудовищное словосочетание просто обозначает, что можно обращаться к элементам struct, используя синтаксис .membername=. В конечном виде это немного похоже на JSON или хэши в Ruby:
Добавлено через 14 часов 7 минут Спасибо большое за разъяснение)
0
|
|||||||||||||||||||||
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 12.05.2017, 14:28 | |
|
eekr, данный подход (designated initializers) имеет место в C (C99), но в С++ его так и не завезли.
1
|
|
| 12.05.2017, 14:28 | |
|
Помогаю со студенческими работами здесь
4
Не пойму чего хочет компилятор Компилятор не хочет читать функиции. Компилятор не хочет создавать экземпляр класса Компилятор (wxDev-C++) не хочет воспринимать тип string Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|