While debugging I have noticed it is not taking *matrix as the class object which is very odd (the address of the (*this).matrix and matrix are different) Does anyone know what could be causing this issue. Or how I could remedy this? I thought this was a fairly standard assignment operator?