sobrecarga [] [] operadores em c ++

Estou escrevendo uma matriz 3x3 em c ++.

glm :: mat3 fornece acesso aos dados da matriz através do[][] operator sintaxe.
por exemplo.myMatrix[0][0] = 1.0f; definiria a primeira linha, a primeira entrada da coluna para1,0f.

Eu gostaria de fornecer acesso semelhante. Como posso sobrecarregar o[][] operators?

Eu tentei o seguinte, mas recebo erros:

nome do operador deve ser declarado como uma função

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;
}

Qual é a maneira correta de sobrecarregar este operador?

questionAnswers(5)

yourAnswerToTheQuestion