私はこの問題で立ち往生しています:関数内で、関数に渡された動的に割り当てられた配列を参照によってサイズ変更する方法。私はこれを、まさにこのアプローチの無数のバリエーションとともに試しました。もちろん、これは単なる例です。"john" を 10 回出力し、参照渡しされた配列 (元々はサイズが 1 (つまり、 name は 1 つだけ) しかない) を展開する必要があります。
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
int NumLast=-1;
int Surname(string *MyData)
{
for (int i=0; i<10 ; i++)
{
NumLast++;
string *Temp = new string[NumLast+1]; // temporary array
for (int jjj=0; jjj<NumLast; jjj++)
Temp[jjj]=MyData[jjj];
delete[] MyData;
MyData=Temp;
MyData[NumLast]="John";
}
return 0;
}
void main()
{
string *Data = new string[1]; // inizializza l'array
Surname(&*Data);
for (int iii=0; iii<10; iii++)
cout << Data[iii] << endl;
system("pause");
}