Я все еще борюсь с GCC - компилируем следующий встроенный код сборки (с -fasm-blocks , который включает синтаксис сборки в стиле Intel ) вызывает у меня странную ошибку Невозможно принять адрес 'this', который является выражением rvalue ...
MyClass::MyFunction()
{
_asm
{
//...
mov ebx, this // error: Cannot take the address of 'this', which is an rvalue expression
//...
mov eax, this // error: Cannot take the address of 'this', which is an rvalue expression
//...
};
}
Почему я могу хранить указатели на разные объекты в регистрах, но не могу использовать указатель на экземпляр MyClass ?