Установка char с помощью varC++

Программы на C++. Форум разработчиков
Ответить
Гость
 Установка char с помощью var

Сообщение Гость »


Я использую библиотеку часовых поясов, которая определяет следующую структуру:

// структура для описания правил начала летнего/летнего времени, // или когда начинается стандартное время. структура TimeChangeRule { символьное сокращение[6]; // максимум пять символов uint8_t неделя; // Первая, вторая, третья, четвертая или последняя неделя месяца uint8_t доу; // день недели, 1=Вс, 2=Пн, ... 7=Сб uint8_t месяц; // 1=январь, 2=февраль, ... 12=декабрь uint8_t час; // 0-23 целое смещение; // смещение от UTC в минутах }; Я пытаюсь установить аббревиатуру динамически. TimeChangeRule stdRule = {"CST"..., конечно, работает. Но я пытаюсь использовать для этого var. Когда я определяю char stdTimeName[6] = "CET"; и пытаюсь его использовать, я получаю ошибку компилятора: значение типа "char *" не может использоваться для инициализации объекта типа "char", что имеет смысл. Но какую переменную или какое преобразование переменной мне нужно использовать, чтобы можно было установить сокращение с помощью переменной?

РЕДАКТИРОВАТЬ: Минимальный воспроизводимый пример
#include // Стандартное правило времени char stdTimeName[6] = "CET"; enum Week_t stdRuleWeek = Last; перечисление dow_t stdRuleDow = Солнце; перечисление месяца_t stdRuleMonth = октябрь; uint8_t stdRuleHour = 2; интервал stdTimeOffset = 60; // Правило летнего времени char dstTimeName[6] = "CEST"; enum Week_t dstRuleWeek = Last; перечисление dow_t dstRuleDow = Солнце; перечисление Month_t dstRuleMonth = Март; uint8_t dstRuleHour = 2; интервал dstTimeOffset = 120; недействительная настройка() { TimeChangeRule stdRule = {"CET", stdRuleWeek, stdRuleDow, stdRuleMonth, stdRuleHour, stdTimeOffset};
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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