用VS2010编译一开源项目时报出C2057错误。
定位在:
在最初学C的时候就晓得不能那样写,因为该数组的内存空间大小需要在编辑时确定,而n是一个运行时才知道的数值。
但为什么别人编译通过了呢?报着这样的想法google了一把。
得到的结论是:
由于C99标准支持可变长的数组。C98,C11并不支持。
vs2010的编译器部分兼容C99标准。并不支持动态数组。
给出的建议是用vector代替动态的数组。
用VS2010编译一开源项目时报出C2057错误。
定位在:
在最初学C的时候就晓得不能那样写,因为该数组的内存空间大小需要在编辑时确定,而n是一个运行时才知道的数值。
但为什么别人编译通过了呢?报着这样的想法google了一把。
得到的结论是:
由于C99标准支持可变长的数组。C98,C11并不支持。
vs2010的编译器部分兼容C99标准。并不支持动态数组。
给出的建议是用vector代替动态的数组。