illegal reference cast - operand not an l-value
The reference could not be cast.
This error occurs when a temporary copy of the referenced value cannot be generated.
The following is an example of this error:
struct C
{
int mem;
operator int();
};
struct D
{
operator C();
void memfunc();
};
D aD[10];
void D::memfunc()
{
C aC = ( C& )( aD + 1 ); // error
}