引发未经处理的异常:写入访问冲突. bunnies_array 0x5CB3CBA

Unhandled exception thrown: write access violation. bunnies_array was 0x5CB3CBA

本文关键字:访问冲突 bunnies 0x5CB3CBA array 处理 异常      更新时间:2023-10-16

你好,我是编程新手,我正在玩类来习惯它,但我发现当我在类中使用数组时,我会收到此错误 引发未经处理的异常:写入访问冲突。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;
}

更改行

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

trail.change(bunnies_array);

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