Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno pointer v Delphi

Ahoj,
při programování v Delphi 7 jsem narazil na tento problém:
Potřebují v programu dvojrozměrné pole, jehož rozměry by se daly vybrat až za běhu programu. S tím ovšem, že pole zabere právě tolik místa, kolik je potřeba (jinak bych mohl rovnou alokovat místo pro maximální velikost a bylo by po problému). Vymyslel jsem to tak, že definuji několik typů (jeden pro pole 20x20, druhý 40x40 atd.), vytvořím ukazatele na tyto typy, podle potřeby jeden z nich alokuju a přiřadím ho jedné speciální proměnné, která bude typu pointer a skrz kterou budu k poli přistupovat. Ale to je asi špatný postup, už proto že když jsem tu speciální proměnnou definoval v sekci var jako pointer, hlásilo mi to při kompilaci chyby tam kde jsem tu proměnnou chtěl použít ("array type required"), asi proto že za tou proměnnou byly ty hranaté závorky (např. specialnipromenna[x,y] ).

Nenapadá tedy někoho, jak by se tento problém dal vyřešit? Nerad bych při každém přistupování k tomu poli používal nějaký case, který by použil proměnnou podle toho, jaké má to pole velikost. Díky

Petr Kryštof

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny