C++ 访问数组内容时出错

C++ 访问数组内容时出错,c++,arrays,pointers,C++,Arrays,Pointers,我正在做一点指针的练习,我面临着这个错误?有人知道它为什么在那里吗 #include <iostream> using namespace std; bool expandarray(int **arr, int oldsize, int newsize) { if(oldsize > newsize) return false; int *newarray = new int[newsize]; for(int i = 0; i &l

我正在做一点指针的练习,我面临着这个错误?有人知道它为什么在那里吗

#include <iostream>
using namespace std;

bool expandarray(int **arr, int oldsize, int newsize)
{
    if(oldsize > newsize)
        return false;
    int *newarray = new int[newsize];
    for(int i = 0; i < newsize; i++)
    {
        newarray[i] = 0;
    }
    for(int i = 0; i < oldsize; i++)
    {
        newarray[i] = *arr[i];
    }
    delete [](*arr);
    *arr = newarray;
    return true;
}

int main()
{
    int * array = new int[5];
    for(int i = 0; i < 5; i++)
    {
        array[i] = i+6;
        //cout << array[i] << " ";
    }
    expandarray(&array,5,7);
    system("pause");
}
#包括
使用名称空间std;
bool expandarray(int**arr,int oldsize,int newsize)
{
如果(旧尺寸>新闻尺寸)
返回false;
int*newarray=newint[newsize];
对于(int i=0;i//您可能以错误的顺序取消引用。您(隐式地)拥有的是
*(arr[i])
,您想要的是
(*arr[i];

您可能对此感兴趣: