Код: Выделить всё
typedef div_t DATE;
#define ans quot /* (s)(l)div_t : .quot -> .ans... */
#define mois rem /* ... et .rem -> .mois : plus parlant */
Во всяком случае.
Я хотел бы создать массив элементов для этого типа 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 */
Я попробовал еще это:
В том же файле .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