私がこれを持っているとしましょう
#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;
}