Gå til innhold

Anbefalte innlegg

Metoden som jeg jobber med ser slik ut:

 

 

void expand() {

T temp[] = new T[this->size * 2]; //har også prøvd med T *temp

for (int i = 0; i < this->size; i++) {

temp = mengde;

}

mengde = *temp;

}

 

 

Jeg får opp feilmeldingen om at "initializer fails to determine size of temp".

Programmet går ut på at man har en mengde, når det er fullt i tabellen så skal man ekspandere det. Håper at noen kan hjelpe meg, og tusen takk på forhånd :)

Lenke til kommentar
Videoannonse
Annonse

Du gir egentlig for lite info, men dette burde være korrekt (men har ikke testet det)

template <typename T> class Foo
{
private:
 T* mengde;
 int size;
public:
 Foo()
   : mengde(nullptr), size(0)
 {
 }

 void expand()
 {
   const int newSize = size ? size << 1 : 1;
   T *temp = new T[newSize];

   for (int i = 0; i < size; i++)
     temp[i] = mengde[i];

   delete[] mengde;
   mengde = temp;
   size = newSize;
 }
}

 

edit: fjernet en gigantisk minnelekasje

edit2: fanken ta formateringsproblemene i dette forumet

Endret av GeirGrusom
  • Liker 1
Lenke til kommentar

Du gir egentlig for lite info, men dette burde være korrekt (men har ikke testet det)

template <typename T> class Foo
{
private:
 T* mengde;
 int size;
public:
 Foo()
: mengde(nullptr), size(0)
 {
 }

 void expand()
 {
const int newSize = size ? size << 1 : 1;
T *temp = new T[newSize];

for (int i = 0; i < size; i++)
  temp[i] = mengde[i];

delete[] mengde;
mengde = temp;
size = newSize;
 }
}

 

edit: fjernet en gigantisk minnelekasje

edit2: fanken ta formateringsproblemene i dette forumet

 

Tusen takk!!!! Det funker :) Burde kanskje legge ut mer kode av programmet, men det ordnet seg! :D

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...