为什么下面的代码编译为 C++ 时没有任何抱怨,但 C 编译器却抱怨初始化器不是编译时常量?
int x = 2; int y = 1; int a[2] = {x, y}; #include <stdio.h> int main() { printf("Hello world\n"); return 0; }
c c++ initialization language-lawyer storage-duration
c ×1
c++ ×1
initialization ×1
language-lawyer ×1
storage-duration ×1