我很难在第一个Google页面上找到明确的答案。 我很难理解术语"语言标准"。我的意思是,新标准应该在软件层面实施,对吗?它不仅仅是用户现在可以发现的事物清单,对吧? 我使用委托构造函数,得到一个警告:
[警告]委托构造函数仅适用于-std = c ++ 11或-std = gnu ++ 11
虽然似乎的东西按我希望的方式工作。这样的警告是否很重要如果是这样,我该如何摆脱它呢?
答案 0 :(得分:1)
Dev-Cpp只是编码器的IDE(前端),它背后是MinGW和GCC 4.9.2作为编译器*。因此,每次单击“运行”或“构建”时,GCC都会执行脏工作。 GCC默认使用C ++ 03标准,并使用较新的标准,通过编译器标志-std=c++11
明确告诉它。您可以在Tools->Compiler Options->Settings->Code generation->Language standard (-std)
。
我不确定为什么委托构造函数可以在没有C ++ 11(可能是某些GCC特性)的情况下工作,但是如果没有-std = c ++ 11,你肯定无法使用C ++ 11库。它也将摆脱警告。
(*假设您使用了默认的Dev-C ++安装程序。)