Объект переменного размера не может быть инициализирован? ⇐ C++
Объект переменного размера не может быть инициализирован?
Мне нужно заменить 400 буквальных чисел с плавающей запятой элементами массива, полученными из XML-файла.
Можете ли вы исправить этот код, чтобы он использовал элемент массива вместо литерала, и опубликовать решение для кодирования?
[*]
На https://cpp.sh/ я получаю следующую ошибку компилятора со следующим кодом.
#define SET_THING(гость, игрушка, размер, вещь)\ двойная игрушка[размер] = вещь интервал основной () { интервал я2[2]; я2[0] = 2; SET_THING(гость,имя, i2[0], {1.9}); } main.cpp:10:25: ошибка: объект переменного размера не может быть инициализирован SET_THING(гость,имя, i2[0], {1.9}); ^~~~~ main.cpp:2:12: примечание: расширено из макроса «SET_THING» двойная игрушка[размер] = вещь ^~~~ Возникла 1 ошибка. [*]На https://cpp.sh/ я не получаю ошибку компилятора со следующим кодом:
#define SET_THING(гость, игрушка, размер, вещь)\ двойная игрушка[размер] = вещь интервал основной () { интервал я2[2]; я2[0] = 2; SET_THING(гость,имя, 2, {1.9}); } Я безуспешно пытался отправить в макрос переменную, не являющуюся массивом.
Мне нужно заменить 400 буквальных чисел с плавающей запятой элементами массива, полученными из XML-файла.
Можете ли вы исправить этот код, чтобы он использовал элемент массива вместо литерала, и опубликовать решение для кодирования?
[*]
На https://cpp.sh/ я получаю следующую ошибку компилятора со следующим кодом.
#define SET_THING(гость, игрушка, размер, вещь)\ двойная игрушка[размер] = вещь интервал основной () { интервал я2[2]; я2[0] = 2; SET_THING(гость,имя, i2[0], {1.9}); } main.cpp:10:25: ошибка: объект переменного размера не может быть инициализирован SET_THING(гость,имя, i2[0], {1.9}); ^~~~~ main.cpp:2:12: примечание: расширено из макроса «SET_THING» двойная игрушка[размер] = вещь ^~~~ Возникла 1 ошибка. [*]На https://cpp.sh/ я не получаю ошибку компилятора со следующим кодом:
#define SET_THING(гость, игрушка, размер, вещь)\ двойная игрушка[размер] = вещь интервал основной () { интервал я2[2]; я2[0] = 2; SET_THING(гость,имя, 2, {1.9}); } Я безуспешно пытался отправить в макрос переменную, не являющуюся массивом.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение