0x003 INVALID_OPERAND

演算子`operator`を`leftType`と`rightType`型のオペランド間に適用できません。


taiseiue | 2024-11-21

エラー文

  • 単項演算の場合
エラー
INVALID_OPERAND(0x003): 演算子`action`は`type`型のオペランドに適用できません。
  • 二項演算の場合
エラー
INVALID_OPERAND(0x003): 演算子`operator`を`leftType`と`rightType`型のオペランド間に適用できません。

概要

現在の型ではサポートされていない演算子が適用されました。

このエラーは、例えばbool型のオペランドに加算演算子を使用しようとした時や、string型のオペランドに論理反転演算子を使用しようとした時に発生します。

確認すべきこと

  • operatorが二項演算の場合、左右のオペランドの型を確認してください
  • operatorが単項演算の場合、その演算が左のオペランドに適用されているか、右のオペランドに適用されているか確認してください

よくあるケース

この例外は、以下のような状況でよく発生します。

ケース1 左右のオペランドの型が間違っている

AliceScriptのbool型は数値型には暗黙的に変換できないため、以下のコードではエラーが発生します。

AliceScript
bool cond = true;

print(cond + 1);

ケース2 対応していない演算子を使用している

AliceScriptの文字列型では-演算子はサポートされていないため、以下のコードではエラーが発生します。

AliceScript
string strA = "ABCD";
string strB = "AB";

print(strA - strB);