alignas报错 ISO C++ forbids declaration of ‘alignas’ with no type [-fpermissive]

当使用alignas报错ISO C++ forbids declaration of ‘alignas’时,原因在于编译器不支持C++11。解决方法是在编译时添加-std=c++0x或-std=c++11选项,例如g++ test.cpp -o test.out -std=c++11。若g++不支持C++11,可能需要升级编译器。GCC从4.7版本开始支持C++11,而Clang从3.8版本开始支持。
摘要由CSDN通过智能技术生成

原因,alignas是c++11才支持的。建议

在编译选项中加  -std=c++0x –Wall  或者  -std=c++11

g++ test.cpp -o test.out -std=c++0x -Wall

最后那个是编译警告,初学打开比较好

gcc目前需要添加-std=c++0x 才能顺利编译c++11新特性

 

或者用alias 

对当前系统下次重启前 临时生效:

alias g++=’g++ -std=c++0x’

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值