charlieplexing vu-meter errors

hello, I've been trying to make a stereo VU-meter by charlieplexing, below is the code and it seems fine to me, but I keep getting errors.

#define A 2
#define B 4
#define C 6
#define D 8
#define E 10
#define PIN_CONFIG 0
#define PIN_STATE 1
#define LED_COUNT 20
int leftChannel = 0;
int left, i;
int led[20] = {int matrix[LED_COUNT][2][5] = {
  {{INPUT, INPUT, INPUT, OUTPUT, OUTPUT}, {LOW, LOW, LOW, LOW, HIGH}},
  {{INPUT, INPUT, INPUT, OUTPUT, OUTPUT}, {LOW, LOW, LOW, HIGH, LOW}},
  {{INPUT, INPUT, OUTPUT, OUTPUT, INPUT}, {LOW, LOW, LOW, HIGH, LOW}},
  {{INPUT, INPUT, OUTPUT, OUTPUT, INPUT}, {LOW, LOW, HIGH, LOW, LOW}},
  {{INPUT, OUTPUT, OUTPUT, INPUT, INPUT}, {LOW, LOW, HIGH, LOW, LOW}},
  {{INPUT, OUTPUT, OUTPUT, INPUT, INPUT}, {LOW, HIGH, LOW, LOW, LOW}},
  {{OUTPUT, OUTPUT, INPUT, INPUT, INPUT}, {LOW, HIGH, LOW, LOW, LOW}},
  {{OUTPUT, OUTPUT, INPUT, INPUT, INPUT}, {HIGH, LOW, LOW, LOW, LOW}},
  {{INPUT, INPUT, OUTPUT, INPUT, OUTPUT}, {LOW, LOW, LOW, LOW, HIGH}},
  {{INPUT, INPUT, OUTPUT, INPUT, OUTPUT}, {LOW, LOW, HIGH, LOW, LOW}},
  {{OUTPUT, INPUT, OUTPUT, INPUT, INPUT}, {LOW, LOW, HIGH, LOW, LOW}},
  {{OUTPUT, INPUT, OUTPUT, INPUT, INPUT}, {HIGH, LOW, LOW, LOW, LOW}},
  {{INPUT, OUTPUT, INPUT, OUTPUT, INPUT}, {LOW, LOW, LOW, HIGH, LOW}},
  {{INPUT, OUTPUT, INPUT, OUTPUT, INPUT}, {LOW, HIGH, LOW, LOW, LOW}},
  {{INPUT, OUTPUT, INPUT, INPUT, OUTPUT}, {LOW, LOW, LOW, LOW, HIGH}},
  {{INPUT, OUTPUT, INPUT, INPUT, OUTPUT}, {LOW, HIGH, LOW, LOW, LOW}},
  {{OUTPUT, INPUT, INPUT, OUTPUT, INPUT}, {LOW, LOW, LOW, HIGH, LOW}},
  {{OUTPUT, INPUT, INPUT, OUTPUT, INPUT}, {HIGH, LOW, LOW, LOW, LOW}},
  {{OUTPUT, INPUT, INPUT, INPUT, OUTPUT}, {LOW, LOW, LOW, LOW, HIGH}},
  {{OUTPUT, INPUT, INPUT, INPUT, OUTPUT}, {HIGH, LOW, LOW, LOW, LOW}},
}};

void turnOn( int led ) {
pinMode( A, matrix[led][PIN_CONFIG][0] );
pinMode( B, matrix[led][PIN_CONFIG][1] );
pinMode( C, matrix[led][PIN_CONFIG][2] );
pinMode( D, matrix[led][PIN_CONFIG][3] );
pinMode( E, matrix[led][PIN_CONFIG][4] );
digitalWrite( A, matrix[led][PIN_STATE][0] );
digitalWrite( B, matrix[led][PIN_STATE][1] );
digitalWrite( C, matrix[led][PIN_STATE][2] );
digitalWrite( D, matrix[led][PIN_STATE][3] );
digitalWrite( E, matrix[led][PIN_STATE][4] );
}
 
void setup()
{
for (i = 0; i < 10; i++)
}

void loop() {
for( int i = 0; i < LED_COUNT; i++ ){
turnOn( i );
{left = analogRead(leftChannel);
left = left / 7;
  if (left == 0)
   {for(i = 0; i < 10; i++)
     {digitalWrite(led[i], LOW);}}

  else
  {for (i = 0; i < left; i++)
    {digitalWrite(led[i], HIGH);}

    for(i = i; i < 10; i++)
     {digitalWrite(led[i], LOW);}}}}

Can anyone please tell me what it is I'm doing wrong?

int led[20] = {int matrix[LED_COUNT][2][5] = {

Seems fine?