[c++] new ipv malloc

Pagina: 1
Acties:

  • FireAge
  • Registratie: Augustus 2002
  • Laatst online: 18:29
Ik heb de volgende c code waar ik c++ van wil maken:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
defenities.h
-----------------------------------------------------------------
typedef struct tagNkMAIDArray
    {
        ULONG       ulType;
        ULONG       ulElements;
        ULONG       ulDimSize1;
        ULONG       ulDimSize2;
        ULONG       ulDimSize3;
        UWORD       wPhysicalBytes;
        UWORD       wLogicalBits;
        LPVOID  pData;
    } NkMAIDArray

typedef void FAR*   LPVOID;
-----------------------------------------------------------------
programma.c
-----------------------------------------------------------------
NkMAIDArray* pArray
pArray->pData = malloc( pArray->ulElements * pArray->wPhysicalBytes );
-----------------------------------------------------------------

Nu wil ik die h file behouden, want die hoor bij een aangeleverde library.
Ik wil echter die malloc omgooien naar een new.

Het is belangrijk dat pData geheugen ruimte krijgt gelijk aan het aantal elementen "ulElements" maal de grootte van elk element "wPhysicalBytes".

Ik zou denken dat ik nu het volgende wil:
code:
1
pArray->pData = new char[pArray->ulElements * pArray->wPhysicalBytes]

Maar dat pikt ie niet.

Iemand een idee?

  • Rowwan
  • Registratie: November 2000
  • Laatst online: 22:29
En waarom niet? Wat gaat er mis :? (Behalve dat je op de vorige regel de ';' bent vergeten)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01-05 21:33

.oisyn

Moderator Devschuur®

Demotivational Speaker

Het zou handig zijn als je de foutmelding van de compiler er ook bij vermeldt, want zo op het eerste gezicht is je statement helemaal niet fout.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • FireAge
  • Registratie: Augustus 2002
  • Laatst online: 18:29
Hmm, hij pikt het nu wel, had blijkbaar iets anders fout zitten 8)7

Maar reserveer ik op deze manier wel dezelfde hoeveelheid geheugen?
Ik ben niet zo thuis in malloc.

Stel dat het aantal elementen 10 is en het aantal bytes per element 4, dan reserveer ik met mijn statement 40 bytes.

Hoeveel reserveert de malloc?

  • Rowwan
  • Registratie: November 2000
  • Laatst online: 22:29
RTFM

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01-05 21:33

.oisyn

Moderator Devschuur®

Demotivational Speaker

Anders lees je de documentatie van malloc even :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • FireAge
  • Registratie: Augustus 2002
  • Laatst online: 18:29
Vooruit dan maar weer, en excuses voor het storen, heb er zelf ook altijd een hekel aan als mensen te lui zijn om te googlen. Wis dit topic maar.

[ Voor 8% gewijzigd door FireAge op 23-08-2005 15:00 ]

Pagina: 1