记住以下代码:
int main()
{
int n = 3;
int arr[n] = { 1, 2, 3 };
}
GCC 在 C99 模式下正确出错,error: variable-sized object may not be initialized
而 clang 在 C++ 模式下给出相同的错误。但是在 C++ 模式下,GCC 不会抱怨。这会让我相信这可能是他们的C 扩展 VLA 页面上没有记录的扩展。我也找不到匹配的错误报告。任何人都可以验证这是否是扩展或是否存在现有错误报告?