Ik ben op dit moment bezig met het programmeren in c++, aan een voor mij groot project. En ik loop tegen het probleem aan dat ik een 2d array moet doorgeven aan een procedure, (of ja moet, anders kan ik niets verdelen over bestanden en wordt het totaal onoverzichtelijk) maar dat wil niet echt lukken.
Ik heb een tijdje liggen zoeken en het beste wat ik tegenkwam was dit:
c++ 2d array door geven
maar, hier wordt ervan uitgegaan dat de grote van de array van tevoren bekend is.
Stel ik heb in mijn main een int 2d array a waarvan de grote vooraf niet bekend is.
Maar tijden runtime b.v. grote m x n krijgt.
dus a[m][n].
Hoe kan ik deze 'dynamische' array dan doorgeven aan een andere procedure,
omdat:
void doejeding (int matrix[][])
{
//hier bewerkingen toepassen
}
dus niet werkt.
Maar dit kan dus niet omdat de compiler de lengte van de kolommen moet weten, dus dit [][] pikt hij niet en ik moet dus een grote voor de kolommen opgeven.
Maar het is dus de bedoeling dat dit dynamisch gebeurt.
En het kan wel opgelost worden door over te stappen op vectoren of iets anders, maar ik zou gewoon graag weten of dit gewoon mogelijk is op een enigzins directe wijze.
Dus dat is eigenlijk mijn vraag bij deze
Ik heb een tijdje liggen zoeken en het beste wat ik tegenkwam was dit:
c++ 2d array door geven
maar, hier wordt ervan uitgegaan dat de grote van de array van tevoren bekend is.
Stel ik heb in mijn main een int 2d array a waarvan de grote vooraf niet bekend is.
Maar tijden runtime b.v. grote m x n krijgt.
dus a[m][n].
Hoe kan ik deze 'dynamische' array dan doorgeven aan een andere procedure,
omdat:
void doejeding (int matrix[][])
{
//hier bewerkingen toepassen
}
dus niet werkt.
Maar dit kan dus niet omdat de compiler de lengte van de kolommen moet weten, dus dit [][] pikt hij niet en ik moet dus een grote voor de kolommen opgeven.
Maar het is dus de bedoeling dat dit dynamisch gebeurt.
En het kan wel opgelost worden door over te stappen op vectoren of iets anders, maar ik zou gewoon graag weten of dit gewoon mogelijk is op een enigzins directe wijze.
Dus dat is eigenlijk mijn vraag bij deze