2017-02-13 19 views
0

Я хотел создать псевдонимы, чтобы упростить использование методов chrono. Поэтому я объявил те:Ошибка при объявлении псевдонима с использованием

using Clock = std::chrono::system_clock; 
using TimePoint = std::chrono::time_point<Clock>; 
using DurationCast = std::chrono::duration_cast<Clock::duration>; 

Clock и TimePoint работа, как ожидается, но последний DurationCast дает мне ошибку:

expected a type 
expected ';' after alias declaration 

Теперь я не уверен, что я сделал неправильно?

ответ

2

std::chrono::duration_cast - это функция, а не тип. Вы можете обернуть его функцией или лямбдой:

template <class D> 
static auto DurationCast(D d) 
{ return std::chrono::duration_cast<Clock::duration>(d); } 

 Смежные вопросы

  • Нет связанных вопросов^_^