我想获得这样的代码:
struct Order_t {
time_point<system_clock, microseconds> order_time;
// some other fileds
};
template<typename Dura>
void onTimer( time_point<system_clock, Dura> tp_now ) {
auto tp0 = time_point_cast<Order_t::order_time::duration>( tp_now );
// some other codes...
};
但是这些无法编译。实际上,我需要声明一个与Order_t::order_time
具有相同类型的变量,但此处没有该类型的var。
要获取嵌套类型(::duration
),您需要类型,而不是变量。因此,应该是
auto tp0 = time_point_cast<decltype(Order_t::order_time)::duration>(tp_now);