C++11 使用声明别名时出错

C++11 使用声明别名时出错,c++11,alias,C++11,Alias,我想创建别名,使使用chrono方法更容易。 所以我宣布: using Clock = std::chrono::system_clock; using TimePoint = std::chrono::time_point<Clock>; using DurationCast = std::chrono::duration_cast<Clock::duration>; 现在我不确定我做错了什么?std::chrono::duration\u cast是一个函数,而不是

我想创建别名,使使用
chrono
方法更容易。 所以我宣布:

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

现在我不确定我做错了什么?

std::chrono::duration\u cast
是一个函数,而不是类型。您可以将其包装在函数或lambda中:

template <class D> 
static auto DurationCast(D d)
{ return std::chrono::duration_cast<Clock::duration>(d); }
模板
静态自动持续播放(D)
{return std::chrono::duration_cast(d);}

std::chrono::duration\u cast是一个函数,而不是类型。您可以将其包装在函数或lambda中:

template <class D> 
static auto DurationCast(D d)
{ return std::chrono::duration_cast<Clock::duration>(d); }
模板
静态自动持续播放(D)
{return std::chrono::duration_cast(d);}