C++ 通过引用传递三维动态数组
我正在尝试创建一个具有动态内存的3D字符数组。我在main中创建char***点,然后将其传递给input,一切正常,直到input函数返回,我尝试从main中重新打印相同的locaton。我得到了“访问违规阅读位置”有什么建议吗C++ 通过引用传递三维动态数组,c++,memory,dynamic,multidimensional-array,pass-by-reference,C++,Memory,Dynamic,Multidimensional Array,Pass By Reference,我正在尝试创建一个具有动态内存的3D字符数组。我在main中创建char***点,然后将其传递给input,一切正常,直到input函数返回,我尝试从main中重新打印相同的locaton。我得到了“访问违规阅读位置”有什么建议吗 void input(char ***a, int f, int n) { cin >> f; cin >> n; a = new char**[f]; for (int i =0; i <f; ++i) { a[i]= new
void input(char ***a, int f, int n)
{
cin >> f;
cin >> n;
a = new char**[f];
for (int i =0; i <f; ++i)
{
a[i]= new char*[n];
for (int j=0; j <n; ++j)
{
a[i][j] = new char[n];
}
}
for (int i =0; i<f; ++i)
{
for (int j=0; j<n; ++j)
{
for (int k = 0; k <n ;++k)
{
a[i][j][k] = '.';
cout << a[i][j][k];}
}
}
cout <<endl << endl<< a[2][5][5]; //test to see is value is '."
}
int main()
{
char ***station = 0;
int floors=0, n=0;
input(station, floors, n);
cout << endl << endl << station[2][5][5];
}
void输入(字符***a,整数f,整数n)
{
cin>>f;
cin>>n;
a=新字符**[f];
for(int i=0;ichar***&a
可能会做你想做的事。尝试了,不起作用。。