你好,我是编程的新手,我正在玩类来习惯它,但我发现,当我在课堂上使用循环与数组时,我得到这个错误 抛出未处理的异常:写入访问冲突。 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;
}
答案 0 :(得分:2)
更改行
trail.change((&bunnies_array)[100]);
到
trail.change(bunnies_array);
初始行从阵列边界上方的第100个开始传递数组元素。我想你误解了对数组声明int(&bunnies_array)[100]
的引用,并将它与数组&bunnies_array
的地址混合在一起。