下面的程序在C语言中编译得很好,有警告,但是在C++中编译失败。为什么?原因何在?void) char a[5]="Hello"; puts(a); printf("%c"Error] initializer-string for array of chars is too long [-fpermissive] enabled by defau
; static const int x = foo();
return 0;但是我得到了一个关于用非常数值初始化静态变量的错误static int x = 0; return 0;现在,为什么编译器不能延迟static int x变量的初始化我对C标准的理解是错误的吗?还是我的编译器很烂?它是MSVC 9.0。