adam99 <adamquestion@xxxxxxxxx> writes: > I am getting a following error on g++ 4.1.2 > > > SqMatrix.h: In member function 'SqMatrix SqMatrix::operator*(const > SqMatrix&) const': > SqMatrix.h:91: error: invalid cast of an rvalue expression of type 'Matrix' > to type 'const SqMatrix&' > > > for the following code segment > > SqMatrix operator * (const SqMatrix &sm) const { > return (const SqMatrix &) (*(Matrix *)this * sm); } > > > this error did not seem to appear on g++ 3.4.6. Do you know what could be > the problem? You are casting an expression to a reference type. That is invalid C++. Reference types must refer to something stored in a variable or in memory; they can't refer to expressions. In this code fragment the cast appears to be completely useless. Ian