przeciążanie operatorów [] [] w c ++

Piszę klasę macierzy 3x3 w c ++.

glm :: mat3 zapewnia dostęp do danych macierzy poprzez[][] operator składnia.
na przykładmyMatrix[0][0] = 1.0f; ustawiłby pierwszy wiersz, pierwszy wpis w kolumnie1.0f.

Chciałbym zapewnić podobny dostęp. Jak mogę przeciążać[][] operators?

Próbowałem następujących rzeczy, ale dostaję błędy:

nazwa operatora musi być zadeklarowana jako funkcja

const real operator[][](int row, int col) const
{
    // should really throw an exception for out of bounds indices
    return ((row >= 0 && row <= 2) && (col >= 0 && col <= 2)) ? _data[row][col] : 0.0f;
}

Jaki jest właściwy sposób przeciążenia tego operatora?

questionAnswers(5)

yourAnswerToTheQuestion