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 поле, которое я пишу из одного потока и читаю из другого (чтобы убедиться, что «читающий поток» видит последнее значение)?

Ответы на вопрос(1)

Ваш ответ на вопрос