【发布时间】:2019-12-11 03:13:05
【问题描述】:
当我写下这样的代码时:
#include <atomic>
#include <array>
using namespace std;
int main() {
array< atomic<int>, 5> a;
a[1].compare_exchange_weak(0,1);
}
编译器输出:
no known conversion for argument 1 from 'int' to 'std::__atomic_base<int>::__int_type& {aka int &}'
那么,谁能解释一下为什么会失败?如何在原子数组中使用 compare_exchange_weak?
【问题讨论】:
标签: c++ multithreading stdatomic compare-and-swap