共用方式為


編譯器錯誤 C2422

'operand' 中的不合法區段覆寫

內嵌元件程式代碼錯誤地使用操作數上的區段覆寫運算元(冒號)。 可能的原因包括:

  • 運算子前面的緩存器不是區段緩存器。

  • 運算子前面的緩存器不是操作數中唯一的區段緩存器。

  • 區段覆寫運算子會出現在間接運算子 (方括弧) 內。

  • 區段覆寫運算子後面的表達式不是直接操作數或記憶體操作數。

下列範例會產生 C2422:

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