Condividi tramite


Errore del compilatore C2422

override del segmento illegale in 'operando'

Osservazioni:

Il codice dell'assembly inline usa erroneamente un operatore di override del segmento (due punti) su un operando. Le cause possibili includono:

  • Il registro che precede l'operatore non è un registro di segmento.

  • Il registro che precede l'operatore non è l'unico registro di segmento nell'operando.

  • L'operatore di override del segmento viene visualizzato all'interno di un operatore di riferimento indiretto (parentesi quadre).

  • L'espressione che segue l'operatore di override del segmento non è un operando immediato o un operando di memoria.

Example

L'esempio seguente genera l'errore C2422:

// C2422.cpp
// processor: x86
int main() {
   _asm {
      mov AX, [BX:ES]   // C2422
      mov AX, ES   // OK
   }
}