Compiler Error C2057

在使用VS2010编译开源项目时遇到C2057错误,问题源于尝试用运行时确定大小的数组。虽然C99标准支持可变长数组,但VS2010并不完全兼容此特性,建议使用vector替代。查阅资料后发现,C98和C11标准并不包含可变长数组,而C99的部分功能在VS2010中未实现。

用VS2010编译一开源项目时报出C2057错误。

定位在:


在最初学C的时候就晓得不能那样写,因为该数组的内存空间大小需要在编辑时确定,而n是一个运行时才知道的数值。

但为什么别人编译通过了呢?报着这样的想法google了一把。

得到的结论是:

由于C99标准支持可变长的数组。C98,C11并不支持。

vs2010的编译器部分兼容C99标准。并不支持动态数组。


给出的建议是用vector代替动态的数组。



图来源于:

http://stackoverflow.com/question

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值