gpt4 book ai didi

c++ - 指针内存错误

转载 作者:行者123 更新时间:2023-11-27 22:51:23 25 4
gpt4 key购买 nike

我试图在我自己的类 vector 中放置一个指针值,但收到内存错误。有谁能帮帮我吗?

class myVector
{
int * vector;
int size;
public:
myVector()
{
size = 0;
vector = nullptr;
}


void pushBack(int data)
{
if (size == 0)
{
*vector = data;
size++;
}
else
{
int * tmp = new int[size + 1];
for (int i = 0; i <= size; i++)
tmp[i] = vector[i];
tmp[size + 1] = data;
vector = tmp;
delete[] tmp;
}
}

最佳答案

我认为代码中有很多问题。但我只会解决您提出的问题。正如其他人指出的那样,您已经创建了一个指针 vector 并将其初始化为 nullptr。然后您尝试将数据存储在 nullptr 中。这应该可以解决您面临的内存问题。

MyVector {
...

MyVector() : size(0), vector(new int[1]){ }

...
}

关于c++ - 指针内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36925239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com