C++ 数组长度不能为0

来源:互联网 发布:北航人工智能研究生 编辑:程序博客网 时间:2024/05/17 16:14

C++中长度为0的数组是不允许的,如果不给长度,编译器不会给数组分配空间,使用时会出现难以预料的错误。

一个典型的错误示例

#include <iostream>#include <algorithm>using namespace std;class test{public:    int scores[];    int length;    test()    {        cout<<scores<<endl;        cout<<&length<<endl;    }};int main(){    test t;    system("PAUSE");    return 0;}

运行后发现,数组scores和变量length的地址相同,那么score[0]和length这两个变量访问和赋值的时候会出现互相覆盖的问题

我的运行结果:

0x68feec

0x68feec

原创粉丝点击