編譯器錯誤 C2422
'operand' 中的不合法區段覆寫
內嵌元件程式代碼錯誤地使用操作數上的區段覆寫運算元(冒號)。 可能的原因包括:
運算子前面的緩存器不是區段緩存器。
運算子前面的緩存器不是操作數中唯一的區段緩存器。
區段覆寫運算子會出現在間接運算子 (方括弧) 內。
區段覆寫運算子後面的表達式不是直接操作數或記憶體操作數。
下列範例會產生 C2422:
// C2422.cpp
// processor: x86
int main() {
_asm {
mov AX, [BX:ES] // C2422
mov AX, ES // OK
}
}