C++标准要求所有类型的大小至少为1字节,即使结构没有成员。即但数组也是如此。声明零长度数组(在C、C++和C99中)是不符合标准的。int x[0]; // not allowed in C, C++ and C99 standards
那这是为什么?在我看来,这似乎是一个不可缺少的要求,它实际上带来了不一致。我知道有些编译器允许
我为C& C++尝试了相同的程序,即将2D数组传递给函数。下面的程序在C语言中工作,但在C++中不工作,请解释为什么?在C中void pass(int n, int arr[][n]) // or void pass(int n, int (*arr)[n])printf...{scanf("%d",&n);