21. maj 2001 - 22:50Der er
2 kommentarer og 1 løsning
Pointer objekt i pointer array
Jeg har lavet en klasse ved navn HashEntry.
I en anden klasse vil jeg oprette et dynamisk allokeret array, der indeholder pointere til objekter af HashEntry klassen.
Hvis jeg prøver at gøre nedenstående, virker det ikke: -------------------------------------------------- int initialCapacity = 50; HashEntry* table = new HashEntry[initialCapacity]; for (int i = 0; i < initialCapacity; i++) table[i] = new HashEntry(); -------------------------------------------------- Hvorimod det her virker fint: -------------------------------------------------- HashEntry* temp[50]; for (int i = 0; i < 50; i++) temp[i] = new HashEntry(); --------------------------------------------------
Hvorfor er det nu lige at det ikke virker hvis array\'et bliver allokeret dynamisk?
Jeg mener, at syntaxen siger noget med at det \"expression\" der står i de hårde parenteser, skal være en integral type, og ikke en \"pointer\"... Det kan måske lade sig gøre vis du definerer \"initialCapacity\" som \"const\", men så er det stadig ikke dynamisk :)
Det korte og den lange er, at du ikke kan lave et dynamisk array. Du kan i stedet, alt efter din compiler/udviklingsmiljø bruge diverse datastrukturer, som f.eks. STL, selv lave en \"linked list\" osv...
Ok, jeg håbede det kunne lade sig gøre, men så må jeg bare definere den som \"const\".
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.