Проблема в том, что вы возвращаете значение, содержащееся в переменной a.
В main вы пытаетесь назначить переменную int, которая недоступна.
Вы бы увидели ошибку компиляции "ошибка C2106: '=': левый операнд должен иметь значение l", как это.
Означает, что значение не может быть присвоено переменной, которая недоступна.
Пожалуйста, измените тип возвращаемого значения функции перегрузки оператора [] на ссылку или указатель, чтобы она работала нормально.