2013-03-30 172 views
7

为什么不无类型命名空间 'STD' 命名为 '原子'

std::atomic<int> index; 

工作?

目前使用LLVM 3.1与这些PARAMS

C Language Dialect GNU [-std=gnu99] 
C++ Language Dialect [-std=c++11] 
C++ Standard Library libc++(LLVM C++ standard library with C++11 support) 
+2

你有没有'#包含''头? –

+0

@AndyProwl #error 未执行 我想那就是 – Hobbyist

+0

听起来很可能。顺便说一句,这是一个很好的习惯,也提供你得到的错误信息(如果你收到任何)。 “不起作用”可能意味着什么。 –

回答

2

有需要是真实的为您的代码工作的几件事情:

  1. 您需要#include <atomic>

  2. 你需要将代码编译为C++ 11或C++ 14(-std=c++11-std=c++14(或c++0x))编译器))

  3. 你的编译器和标准库需要支持足够的C++ 11提供atomichttp://clang.llvm.org/cxx_status.html

-2

你需要把它写成下面以定义的变量。

std::atomic<std::int> index; 
相关问题