Почему здесь важен порядок std::chrono::floor?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему здесь важен порядок std::chrono::floor?

Сообщение Anonymous »

Это работает:

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

  year_month_day day() {
return year_month_day(floor(
zoned_time{
zone,
system_clock::now()
}.get_local_time()));
}
Но мне нужно ограничить() Zoned_time, как указано выше - поскольку это шаблонно по продолжительности, я ожидаю, что смогу ограничить либо это, или результат now(), т.е. сделайте следующее:

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

  year_month_day day2() {
return year_month_day(
zoned_time{
zone,
floor(system_clock::now())
}.get_local_time());
}
Поэтому я озадачен тем, почему я получаю следующую ошибку, когда пытаюсь это сделать: должно ли значение Zoned_time, указанное выше, не выражаться в днях, и его можно преобразовать в год_месяц_день?

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

error: no matching function for call to ‘std::chrono::year_month_day::year_month_day(std::chrono::local_time)’
48 |             }.get_local_time());
Я использую g++ (GCC) 14.2.1 20240912 (Red Hat 14.2.1-3) (называемый c++) с -std=gnu ++20.

Подробнее здесь: https://stackoverflow.com/questions/790 ... atter-here
Ответить

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

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

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

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

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