无法索引具有已定义限制的int数组?

时间:2014-07-25 21:55:04

标签: c++ arrays

我现在很困惑。我正在研究一个使用重载的学校项目。我有一个构造函数,它有两个参数,一个int数组的较低索引和较高索引。这是构造函数:

IntArray::IntArray(int lower, int upper){
    arrLower = lower;
    arrUpper = upper;
    // Creates array size
    size = arrUpper - arrLower;
    operator[](size);
}

当我的程序通过此函数到达此测试点时:

void test2() {
    cout << "2. Array declared with two integers: IntArray b(-3, 6);" << endl << endl;
    csis << "2. Array declared with two integers: IntArray b(-3, 6);" << endl << endl;
    IntArray b(-3, 6);
    //cout << b.low() << " " << b.high();
    for(int i = b.low(); i <= b.high(); i++)
         b[i] = i * 10;
    b.setName("b");
    cout << b << endl;
    csis << b << endl;
    wait();
}

它抓住并利用我所有的CPU功率。 low()high()函数只返回arrLowerarrUpper。我不明白的是,如果我添加

,它的工作原理
cout << b.low() << " " << b.high() << endl;

构造函数调用后。

为什么添加cout语句可以解决我的问题?我没有正确管理记忆吗?

如果您想查看它,请参阅完整的WIP程序。这不是一个长镜头。

https://gist.github.com/anonymous/963fb80351ae23c58f18

0 个答案:

没有答案