std :: atomic <std :: chrono :: high_resolution_clock :: time_point> не может скомпилироваться
я нуждаюсьstd::chrono::high_resolution_clock::time_point
поле, которое я хочу написать из одного потока и прочитать из другого потока. Если я объявляю это как есть, мой код компилируется без каких-либо ошибок.
Но чтобы сделать мое поле видимым в другой теме, я окружаю егоstd::atomic
как этоstd::atomic<std::chrono::high_resolution_clock::time_point>
и теперь у меня есть следующая ошибка компиляции:
/usr/include/c++/4.8/atomic:167:7: error: function ‘std::atomic<_Tp>::atomic() [with _Tp = std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1l, 1000000000l> > >]’ defaulted on its first declaration with an exception-specification that differs from the implicit declaration ‘constexpr std::atomic<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1l, 1000000000l> > > >::atomic()’
atomic() noexcept = default;
Как я должен объявитьstd::chrono::high_resolution_clock::time_point
поле, которое я пишу из одного потока и читаю из другого (чтобы убедиться, что «читающий поток» видит последнее значение)?