перегрузка операторов [] [] в с ++

Я пишу матричный класс 3х3 на С ++.

glm :: mat3 обеспечивает доступ к данным матрицы через[][] operator синтаксис.
напримерmyMatrix[0][0] = 1.0f;  установил бы первую строку, первую запись столбца в1.0f.

Я хотел бы предоставить аналогичный доступ. Как я могу перегрузить[][] operators?

Я пробовал следующее, но получаю ошибки:

operator name must be declared as a function

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

Как правильно перегрузить этот оператор?

Ответы на вопрос(5)

Ваш ответ на вопрос