перегрузка операторов [] [] в с ++
Я пишу матричный класс 3х3 на С ++.
glm :: mat3 обеспечивает доступ к данным матрицы через[][] operator
синтаксис.
напримерmyMatrix[0][0] = 1.0f;
установил бы первую строку, первую запись столбца в1.0f.
Я хотел бы предоставить аналогичный доступ. Как я могу перегрузить[][] operator
s?
Я пробовал следующее, но получаю ошибки:
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;
}
Как правильно перегрузить этот оператор?