Ich teste Code auf einem Solaris-Computer über SSH Secure Shell mit c ++ remote. Nicht sicher, welche Version etwas ist; Solaris, der C ++ / Compiler, usw. (und wissen nicht, wie man durch SSH Secure Shell herausfinden) ...
Dieser Code:
%Vor%kompiliert und funktioniert gut ... wie Sie sehen können, konvertiert es eine vom Benutzer eingegebene Zeichenfolge in ein int ...
Aber wenn so geändert:
%Vor%Ich bekomme folgende Kompilierfehler:
%Vor%Ich habe nach Rechtschreibfehlern gesucht, habe versucht, den Ort der Enum-Linie zu verschieben ... Ich weiß nicht, was in der Welt vor sich geht.
Jede Hilfe mit diesem Problem würde sehr geschätzt werden!
Ich nehme an, dass entweder <limits>
oder <cmath>
für einen oder mehrere von SUCCESS
, OVERFLOW
, UNDERFLOW
, INCONVERTIBLE
definiert hat, was dazu führt, dass Ihre enum-Bezeichner in "numerische Konstanten" umgewandelt werden ", was wiederum zu den Fehlern führen würde, die Sie sehen.
Sie sehen sie nicht in der ersten Version, weil Sie diese Header nicht eingeschlossen haben.
Einfache Überprüfung: Versuchen Sie, die Enum-IDs umzubenennen.
Vielleicht wurde einer der Enumeratoren wie SUCCESS
bereits vorher definiert. Versuchen Sie es mit SUCCESS_TEST oder etwas, um dies zu überprüfen.
Eine andere Möglichkeit, dies zu überprüfen, besteht darin, den Code mit der Option -E
zu kompilieren, dies zeigt die Ausgabe des Präprozessors. Zum Beispiel: gcc -E main.cpp