Создайте массив элементов структуры типа div_t в C++.C++

Программы на C++. Форум разработчиков
Anonymous
Создайте массив элементов структуры типа div_t в C++.

Сообщение Anonymous »

У меня есть структура (это не имеет отношения к моему вопросу), и в этой структуре используется тип DATE.

Код: Выделить всё

typedef div_t DATE;

#define ans         quot    /* (s)(l)div_t : .quot -> .ans...   */
#define mois        rem     /* ... et .rem -> .mois : plus parlant  */
DATE имеет тип div_t, содержащий год как quot и месяц (mois) как rem. (... :) )
Во всяком случае.
Я хотел бы создать массив элементов для этого типа DATA (div_t).
Похоже, это работает следующим образом:

Код: Выделить всё

DATE tx_tech_variable_dates_vec[8] = {0, 0}; /* code testing  */
Однако я не знаю, как присвоить этому массиву элементы (год/квота, месяц/бэр):
Это не работает:

Код: Выделить всё

    DATE tx_tech_variable_dates_vec[0].quot = { 2026, 06 }; /* code testing  */
DATE tx_tech_variable_dates_vec[0].rem = { 2026, 06 }; /* code testing  */
//DATE tx_tech_variable_dates_vec[1].ans = { 2026, 07 }; /* code testing  */
//DATE tx_tech_variable_dates_vec[1].mois = { 2026, 07 }; /* code testing  */

//DATE tx_tech_variable_dates_vec[1] = { 2032, 06 }; /* code testing  */
Есть идеи, как создать массив элементов "DATE"(s)/div_t и присвоить ему элементы (quot, rem)?
Я попробовал еще это:
В том же файле .cpp есть следующие строки кода:

Код: Выделить всё

 double tx_tech_variable_vec[8] = { 0 };
tx_tech_variable_vec[0] = 3.0;
tx_tech_variable_vec[1] = 1.5;

DATE tx_tech_variable_dates_vec[8] = { 0, 0 };
DATE tx_tech_variable_dates_vec[1] = { 2026, 07 };
с этой ошибкой:

Код серьезности строки Описание Состояние подавления файла проекта
4680 Ошибка C2369 'tx_tech_variable_dates_vec ': переопределение; разные
индексы

Для tx_tech_variable_vec кажется, работает нормально, но не для DATE.
Чтобы ответить на некоторые комментарии:
Да, я знаю, что это не лучший способ сделать это, но да, в файле 90 000 строк кода. программа, с которой я работаю, уже использует эту структуру DATE и этот способ работы с массивами. Поэтому, просто добавив несколько строк кода, я не буду вводить векторы, избавляться от макросов или придумывать другой тип DATE, несовместимый с остальным (действительно очень сомнительным) кодом.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ments-in-c

Вернуться в «C++»