gpt4 book ai didi

c++ - 如何在此函数中分配内存?

转载 作者:行者123 更新时间:2023-11-28 08:24:58 26 4
gpt4 key购买 nike

我有以下函数和类层次结构,使得 Multinumber 由 Pairs、Rational 和 Complex 继承。所有这些共享功能在 Multinumber 中都是虚拟的。我的问题是以下代码。现在的编写方式是,newElement 变量在添加到我的 setArray 时超出范围。这是类型 Multinumber** ,我需要想出一些方法来在此函数中分配内存。奇怪的是,当我执行 cout<<newElement->tostring(); 时,即使打印在第一行,传递给函数的参数也总是空的。谁能告诉我这里出了什么问题?

bool Set::addElement(Multinumber* newElement)
{
bool success = false;
if(isFull())
{
resize();
}
if(!isMember(newElement))
{
setArray[numElements] = newElement;
numElements++;
success = true;
}
return success;
}

编辑:是的,海报是正确的,这是家庭作业

最佳答案

为避免内存问题,请替换 Multinumber** setArraystd::vector<boost::shared_ptr<Multinumber>> setArray .

关于c++ - 如何在此函数中分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4355653/

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