Since you can't use [][] to access a matrix you are suggested to use () operator instead.

However a limitation of that is you can't assign:
Code:
m[col][row] = x; // valid
m(col, row) = x; // invalid
which forces us to write such statements as:
Code:
m[( col * cols ) + row] = rhs( col, row );
Is there any way of working around that limitation so you can use
Code:
m( col, row ) = rhs( col, row );
which is more elegant?

It's mainly an academic exercise as I've finished the matrix class and just having a wonder over lunch.