小编Бор*_*нов的帖子

无法编译固定大小的静态数组

最小代码示例:

#include <stdio.h>
int main()
{
    const int a = 5;
    static int b[a];
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

看起来很好,是吗?变量a是不变的.也适用于4.4.

gcc -v
gcc version 6.2.1 20160830 (GCC)
gcc 1.c
1.c: In function ‘main’:
1.c:6:16: error: storage size of ‘b’ isn’t constant
     static int b[a];
Run Code Online (Sandbox Code Playgroud)

顺便说一下,clang很好地编译了这段代码.

c gcc clang

1
推荐指数
1
解决办法
218
查看次数

标签 统计

c ×1

clang ×1

gcc ×1