私は単純な仮想マシンを作っています。私はInstructions
と呼ばれる列挙型を持っています。私のテストクラスで整数の列挙体の配列
public enum Instructions : int {
ADD = 1,
SUB = 2,
PUSH = 3,
POP = 4,
HALT = 5
}
私はInstructions
列挙型の配列を作成し、私は以下のようにその配列にint
を使用したいです。
Instructions[] code = new Instructions[] {
PUSH, 2,
PUSH, 7,
ADD,
POP,
HALT
};
私の目標は上記の手順をすべて読み、それを処理することです。例えば、上記のコードでは、2と7をスタックにプッシュし、それらを一緒に追加してスタックのトップをポップする必要があります。
int
リテラルでエラーが表示されますが、それはエラーメッセージです。
Cannot implicity convert 'int' to 'Vm.Instructions'. An explicit conversion exists (are you missing a cast?)
どのように私は私のInstructions
配列のint
リテラルを使用することができますか?
2と7とは何ですか? –
それらを一緒に加算するための単なる定数。 – Stradivarius
エラーヒントと同じように、数字をキャストする必要があります。 '2'はあなたの指示の' SUB'と同じなので、あなたは何かを解析しようとしています。 – TyCobb