我需要在我的C ++作业中使用unique_ptr
。
我下载了一个新的编译器TDM-GCC-4.7.1并安装了它。然后我将GNU GCC Compiler的目录更改为选项中的安装路径:Setting->Compiler...->Toolchain Executable
。
但它不起作用。当我定义unique_ptr
时。将出现错误:"unique pointer is not a command of 'std' "
使用智能指针的原因是提供强大的异常安全性,这也是此分配的要求。我只需要使用C ++ 11的这个新功能......另外,我使用的操作系统是Window 7。
谢谢!
答案 0 :(得分:5)
在CodeBlocks中,您可以在项目编译器设置或全局编译器设置中设置C ++ 11模式。由于您可能更频繁地使用它,因此以下是全局更改的方法:
转到设置 - >编译器 - > (这里应该有编译器标志中的选项列表) - >选择“让g ++遵循C ++ 11 ISO C ++语言标准[-std = c ++ 11]”
以下是如何为单个项目更改它:
转到项目 - >构建选项 - > (这里应该有编译器标志中的选项列表) - >选择“让g ++遵循C ++ 11 ISO C ++语言标准[-std = c ++ 11]”
答案 1 :(得分:5)
Set as default
having c++11
。PS:code :: blocks ver 13.12,tdm-gcc 4.9.2
答案 2 :(得分:2)
#include <memory>
-std=gnu++0x
或-std=c++11
编译器标志......无论哪个有效答案 3 :(得分:0)
这可能是一个较晚的答案,但是对于任何需要此答案的人来说,将选项“动态库链接器”从gcc更改为g ++对我来说都是可行的