C语言编译错误之variable-sized object may not be initialized
错误代码示例如下:
// 错误代码
int length = 100;
int array[length] = {0};
可能原因:length在编译期无法作为常量使用,也就是说编译器无法得知数组的大小。一般出现在编译器较老的版本中。
解决办法:
// 假如这里的数组元素为int型
int length = 100;
int array[length]; // 只进行声明
memset(array, 0, sizeof(int));
本解决方法借鉴于链接