这是我在.h文件中的声明:
static std::atomic<int> OrdersExecutorIdCounter;
Run Code Online (Sandbox Code Playgroud)
这是从.cpp文件启动的:
std::atomic<int> ActionBasedOrdersExecutor::OrdersExecutorIdCounter = 0;
Run Code Online (Sandbox Code Playgroud)
它在VC++中编译得很好,但是在gcc 4.8中我得到了这个错误:
error: use of deleted function ‘std::atomic<int>::atomic(const std::atomic<int>&)’
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
Raf*_*zuk 10
您可以直接初始化原子变量,不需要删除复制构造函数,例如:
std::atomic<int> ActionBasedOrdersExecutor::OrdersExecutorIdCounter{0};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5031 次 |
| 最近记录: |