Ich mache einfache Virtual Machine. Ich habe einen Enum-Typ namens Instructions
.Array von Enums mit Ganzzahlen
public enum Instructions : int {
ADD = 1,
SUB = 2,
PUSH = 3,
POP = 4,
HALT = 5
}
In meiner Test-Klasse erstelle ich ein Array von Instructions
Enum und ich mag wie unten int
in diesem Array verwenden.
Mein Ziel ist alle oben genannten Anweisungen zu lesen und sie zu behandeln. Zum Beispiel sollte der obige Code tun, 2 und 7 auf den Stapel zu schieben, dann fügen Sie sie zusammen und pop top des Stapels.
Es gibt mir Fehler für int
Literal, und das ist die Fehlermeldung.
Cannot implicity convert 'int' to 'Vm.Instructions'. An explicit conversion exists (are you missing a cast?)
Wie kann ich int
Literale in meinem Instructions
Array?
Was ist 2 und 7? –
Nur zufällige Konstanten für das Hinzufügen von ihnen zusammen. – Stradivarius
Genau wie die Fehlerhinweise müssen Sie die Zahlen umwandeln. Du wirst eine Menge Zeit damit verbringen, all das zu parsen, weil deine "2" auf deine Anweisung die gleiche wie "SUB" ist. – TyCobb