Fehler bei Einfügen in ein Array!! Update (vorige falsch geschrieben)



  • Hallo

    Ich brauche Hilfe;

    Ich habe ein Program geschrieben, die Elemente eines Arrays in anderen Array einfügt:
    Debugger sagt immer den Fehler: Benutzerhaltepunkt bei realloc:

    Was mache Ich falsch?

    [cpp]void addItem (freq_t *value, int index, int i)
    {
    
      int j;
    
      NewTables[i].tab = (freq_t *)realloc (NewTables[i].tab, 
            ++NewTables[i].entries*sizeof(freq_t));
    
      if ( index < NewTables[i].entries)
      {
        for (j = NewTables[i].entries; j > index; j--)
        {
          NewTables[i].tab[j] = NewTables[i].tab[j-1];
        }
          NewTables[i].tab[j] = *value;
    
      }else if (index == NewTables[i].entries)
      {
        NewTables[i].tab[index] = *value;
      }
    }
    

    Im Voraus Vielen Dank

    Lena



  • ein array muss bei der compilierung eine konstante groesse haben.

    dynamische container gibts in der stl: vector list etc..



  • 1310-Logik schrieb:

    ein array muss bei der compilierung eine konstante groesse haben.

    Nope, in C99 gibt's Variable Length Arrays im Standard.

    @fanbjs
    Zeig mal bitte die Deklaration von NewTables.

    MfG

    GPC



  • sorry bin im falschen forum...
    *ineckestehundschäm*


Anmelden zum Antworten