抛出未处理的异常:写入访问冲突。 bunnies_array是0x5CB3CBA

时间:2018-06-13 05:46:50

标签: c++ visual-c++

你好,我是编程的新手,我正在玩类来习惯它,但我发现,当我在课堂上使用循环与数组时,我得到这个错误 抛出未处理的异常:写入访问冲突。 bunnies_array是0x5CB3CBA。

bunny.h   

     #pragma once
        #include <iostream>

        class bunny {
        public:
            int change(int(&bunnies_array)[100]);

        };

bunny.cpp

    #include "bunny.h"

    int bunny::change( int(&array)[100])
    {

        for ( int i = 0; i < 100; i++)
        {
            array[i] = 1;
        }

        return 0;
    }

main.cpp

    #include "bunny.h"

    int main()
    {
         int bunnies_array[100];

        bunny trail;

        trail.change((&bunnies_array)[100]);
        std::cout << bunnies_array[0];
        return 0;
    }

1 个答案:

答案 0 :(得分:2)

更改行

trail.change((&bunnies_array)[100]);

trail.change(bunnies_array);

初始行从阵列边界上方的第100个开始传递数组元素。我想你误解了对数组声明int(&bunnies_array)[100]的引用,并将它与数组&bunnies_array的地址混合在一起。