Проблема нечетного приведения
Чтобы сэкономить время, я перейду сразу к вопросу.
В одной из моих функций возврата я установил ссылку, сделав оператор using, например, так:
Пример: using T = int( __thiscall* )( void* );
Теперь в этом операторе у меня есть return, который взамен соберет смещение от возврата указателя ссылочного типа:
Пример: return ( *reinterpret_cast< T** >( this ) )[0X0]( this );
Когда я использую ссылку, использующую мой оператор using, операция завершается успешно, и моя функция будет работать правильно. Однако, когда я не использую этот оператор и оценивая эталонный родной код, мой компилятор вернет мне несколько токенов, заявив, что он не может быть обработан.
Пример того, что я пытаюсь сделать: return ( *reinterpret_cast< int( __thiscall* )( void* )** >( this ) )[0X0]( this );
Что-то мне не хватает, или это просто невозможно?