Единственное разумное объяснение (кроме ошибки отладчика) заключается в том, что вы используете множественное наследование.Начало объекта не 0x0a72d4e4
, это где-то еще (вероятно, указатель выше или ниже).Строка с приведением приводит к тому, что отладчик обрабатывает этот адрес как начало объекта и, соответственно, читает неверные значения.
При множественном наследовании значение this может отличаться от адресаначало объекта, и компилятор вставляет корректировки по мере необходимости.Это обсуждается, например, здесь , здесь .