Zdravím, už nějakej čas nad tím koumám a nějak se nemůžu hnout z místa. Potřeboval bych mít v rámci programu jedno pole struktur, který budu ve funkci dle potřeby dynamicky zvětšovat a jakmile se vrátím do mainu, budu mít přístup ke všem jeho prvkům. Po vykonání určitý části ho pak chci zase pomocí ukazatele poslat jiné funkci. Tady je jednoduchá ukázka jak by to mělo vypadat.
Nastává několik otázek:
1) můžu pole alokovat pomocí new() ve funkci a zrušit ho až ke konci mainu?
2) jakým způsobem bych měl potom v mainu přistupovat k těm prvkům? ( TResults.m_A?)
#include <cstdlib>
#include <cstdio>
#include <iostream>
using namespace std;
typedef struct TResults
{
int m_A;
int m_B;
} TRESULTS;
void pokus(TRESULTS * res,int resL) {
int agent=2;
int mLen=10;
res = new TRESULTS[resL+1];
res[resL] . m_A = agent;
res[resL] . m_B = mLen;
resL++;
}
int main(int argc, char** argv) {
TRESULTS * res;
int resL=0;
pokus(res,resL);
delete [] res;
return 0;
}
Budu vděčný za jakoukoli radu! :-)