我有一个A类
,其中有一个名为_atomicVar
的成员变量,类型为std::atomic<int>
。
#include <atomic>
class A
{
public:
A();
~A();
private:
std::atomic<int> _atomicVar;
};
如果我构建项目,我会收到以下错误:
error C2280: 'std::atomic<int>::atomic(const std::atomic<int> &)' : attempting to reference a deleted function
我主要是C#开发人员,所以我不了解C++的每个细节(尚未)。 我不知道在哪里使用atomic<int>
的拷贝构造函数。
我还尝试初始化_atomicVar
:
std::atomic<int> _atomicVar { 0 };
...但是没有起作用。
我原本以为_atomicVar
(没有显式初始化)会被初始化为int
类型的默认值。
你能告诉我为什么会出现这个错误吗?