小编Muh*_*aby的帖子

C++ 和 C 标准中的哪些规则使得从其他静态对象初始化静态对象在 C++ 中有效,但在 C 中无效

为什么下面的代码编译为 C++ 时没有任何抱怨,但 C 编译器却抱怨初始化器不是编译时常量?

int x = 2;
int y = 1;
    
int a[2] = {x, y};

#include <stdio.h>

int main()
{
    printf("Hello world\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++ initialization language-lawyer storage-duration

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