在遇到C++中的NULL和nullptr的异同时,自己在CodeBlocks验证一下,出现了下面的编译报错:
到网上搜寻了一下相关的信息,发现这不是代码本身的问题,也不是CodeBlocks编辑器的问题,而是编译器的原因,nullptr是C++11引入的新特性,解决C和C++中NULL的定义不一致所带来的编译器兼容问题,应该是当前的编译器设置导致编译错误,CodeBlocks可以自由地选择编译器,当然也可以进行相关设置的定制,所以我们可以在CodeBlocks的设置里修改编译器的相关设置就可以解决这个问题:
(tips:我的CB进行过汉化,汉化教程可以访问相关博客ubuntu下 CB汉化教程)
首先到菜单栏点击设置(Settings)->选择编译器(compiler);
然后进入到编译器设置(compiler setting)界面,在选中的编译器(Selected compiler)下框选择GNU GCC Comiler;再在全局编译器设置(Global compiler settings)->编译器设置(Compiler settings)->编译器标志(Compiler Flags);选中Have g++ follow the coming C++0x ISO C++ language standard [-std=c++11];
设置完成后就可以编译运行成功!