Array leeren

Hallo, ichhabe diese Funktion um mein zwei dimensionales Array zu leeren. Aber dieses funktioniert nicht.

void SpielfeldLeeren()
{
  for(int i = 0; i < 8; i++)
  {
    for(int j = 0; j < 7; j++)
    {
       spielfeld[i][j] = 0;
    }
  }
}

und was funktioniert nicht? gibt es eine Fehlermeldung? Bitte eine genauere Fehlerbeschreibung. Und wie ist

spielfeld[][] überhaupt definiert/deklariert?

Nur 'Geht nicht' ist eine etwas vage Fehlerbeschreibung.

LG Stefan

(deleted)

memset(spielfeld, 0, sizeof(spielfeld));

Hallo Serenifly, deinen Codevorschlag habe ich gerade ausprobiert und dieser funktioniert leider nicht. Das Array wird nicht gelehrt.
Und das Array ist als deklariert

int spielfeld[8][7] = {    
  {0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0},
  };

bzero(spielfeld, sizeof(spielfeld));

Ahhh doch es funktioniert

zwieblum:
bzero(spielfeld, sizeof(spielfeld));

bzero ist nicht standardisiert. Warum nimmst Du nicht memset?

Gruß Tommy

Weil's egal ist? Und was heißt nicht standardisiert: bzero - nur verschwindet die nicht aus GCC und CLANG.

Es gehört nicht zum ofiziellen C++-Standard.

Gruß Tommy

So what? Schau nicht hin, das steht nicht im Handbuch?

Wenn Du meinst.

Aber die Frage, warum Du nicht memcpy benutzt, hast Du immer noch nicht beantwortet.

Gruß Tommy

memset :slight_smile:

weil's egal ist. bzero macht das selbe wie mset, nur kürzer.