[编译问题解决]error: ‘atomic_int32_t’ in namespace ‘std’ does not name a type

[编译问题解决]error: ‘atomic_int32_t’ in namespace ‘std’ does not name a type

https://en.cppreference.com/w/cpp/atomic/atomic c++标准没有规定atomic_int32_t必须实现(只是optional),如下:
[编译问题解决]error: ‘atomic_int32_t’ in namespace ‘std’ does not name a type_第1张图片
解决方案:

namespace std
{
  typedef atomic<std::int32_t> atomic_int32_t;
}

在[GCC5.4.0]c++/5.4.0/atomic里并没有实现,而在[GCC7.5.0]c++/7.5.0/atomic实现了,如下
[编译问题解决]error: ‘atomic_int32_t’ in namespace ‘std’ does not name a type_第2张图片
VS2017也实现了,如下:
[编译问题解决]error: ‘atomic_int32_t’ in namespace ‘std’ does not name a type_第3张图片

你可能感兴趣的:(linux,c++11,c/c++)