我如何确保使用C 14

How do I make sure I am utilizing C++14?

本文关键字:确保 何确保      更新时间:2023-10-16

我正在尝试编译一些我正在经历的书中得到的C ,当我尝试编译时,我会收到此警告,然后是5个相关错误。

main.cpp:16:9: warning: variable templates are a C++14 extension 
[-    Wc++14-extensions]
int table<RecordType>::CAPACITY;
    ^

我从未考虑过更新C 或确定我正在使用的版本。我使用G 在Mac中对此进行编译。

您可以使用-std=c++14标志启用它。但是,您的GCC版本应该首先支持它。直到GCC 4.9.3,您可以使用-std=c++1y,而自GCC 5.2以来,它也支持C 14标志。有关更多信息,请参阅此信息。

传递-std=c++14标志。还有较旧的版本,具有部分C 14支持,但尚不支持-std=c++14。为此,通过-std=c++1y标志。

您需要告诉编译器要编译的标准的哪个版本。
尝试g++ -std=c++14

而其他人建议的-std=c++14将启用C 14功能支持,它将禁用默认情况下启用的一堆内容,包括对Advanced Posix Apis的支持。

除非您特别想禁用G 扩展,否则应使用-std=gnu++14而不是-std=c++14