我有以下代码:
#include <chrono>
struct SteadyTime : std::chrono::steady_clock::time_point {
using time_point::time_point;
static SteadyTime now() {
return clock::now();
}
};
这适用于 Visual Studio 2019,但使用 gcc 8.3 我收到以下错误:
<source>: In static member function 'static SteadyTime SteadyTime::now()':
<source>:7:24: error: could not convert 'std::chrono::_V2::steady_clock::now()' from 'std::chrono::_V2::steady_clock::time_point' {aka 'std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long int, std::ratio<1, 1000000000> > >'} to 'SteadyTime'
return clock::now();
~~~~~~~~~~^~
Compiler returned: 1
这段代码似乎是标准的,那么可能有什么问题?