假设我有这个
#define T 10
StackOverflow *_stObject[H];
如何将此数组“调整”为 20?我不能使用向量。我必须将这 11 个位置复制到另一个具有 20 个位置的指针数组,但是这样我就不能在我的其他函数中使用这个对象。
这个对象存储数据,当它满了我需要找到一种方法来继续添加数据。
我怎样才能做到这一点?
好的,这里有更多信息,因为它不起作用。我做了方法 extendArray() 但是当我做 r = temp 时它有一个错误
这是一个计算器,Reg 类存储了我在计算器中进行的操作的信息。对象“r”存储了 10 个操作,如果我进行超过 10 个操作,我必须扩展这个指针数组。
我收到的错误消息在 r = temp 中,它说:'Reg* [20]' 到 'Reg* [10]' 的分配中的类型不兼容|
#define T 10
class Calculator
{
public:
Calculator();
Calculator(NumComp&,NumComp&);
~Calculator();
void printVisor();
void setCalculator(const NumComp&,const NumComp&);
void menu();
void help();
void clean();
void run();
void extendArray();
private:
NumComp n1, n2;
Reg *r[T];
int _tMax;
};
void Calculator::extendArray()
{
Reg *temp[T*2];
for(int i = 0; i < 5; i++){
temp[i] = new Reg;
temp[i] = r[i];
delete r[i];
}
r = temp;
_tMax *= 2;
}