Compiler Error C2040

'operator' : 'identifier1' differs in levels of indirection from 'identifier2'

An expression involving the specified operator had inconsistent levels of indirection.

If both operands are of arithmetic type or if both are not (such as array or pointer), then they are used without change. If one operand is arithmetic, but the other is not, the arithmetic operator is converted to the type of the other operator.