Der Fehler, den wir in diesem Tutorial diskutieren werden, lautet: "Fehler: Erwartete Kennung vor numerischer Konstante". Dieser Fehler tritt hauptsächlich auf, wenn wir versuchen, die Datenelemente außerhalb der Methode zu initialisieren oder zu deklarieren, ohne Klammern zu verwenden. Bevor C ++ 11 eingeführt wurde. Oder wir können sagen, dass wir außerhalb der Klasse die Werte mit dem Konstruktor nicht initialisieren können.
Schauen wir uns die Syntax an. Wir werden ein Beispiel geben, um zu erfahren, wie Sie diese Fehler entfernen und wie Sie den Grund überprüfen können.
Syntax:
Für diesen Fehler gibt es keine solche angegebene Syntax, da es nicht der Befehl zur Ausführung einer Aktion oder des Funktionsaufrufs ist. Dieser Fehler sieht wie folgt aus:
Fehler: Erwartete Kennung vor numerische Konstante
Im obigen Fehler gibt die Kennung die eindeutigen Namen der Variablen an. Die numerische Konstante ist die Sammlung von Ziffern, führenden Zeichen oder Dezimalpunkten. Zum Beispiel 3.0, 3, -2. Die ungültigen numerischen Konstanten sind 2-, 1b, 3…, 4. Usw.
Beispiel # 01:
Lassen Sie uns ein Beispiel geben, um zu überprüfen, wie der Fehler auftritt und wie diese Fehler behoben werden können. Bevor wir zu unserem Hauptcode wechseln, werden wir unsere Header -Dateien, die "Vektor", "String", "Sstream", "FStream", "Isotream" und die "CMath" sind, aufnehmen, "Vektor", "String", "Sstream", "Vector", "String", "Sstream", einschließen. Die Vektor -Header -Datei entspricht den dynamischen Arrays. Sie können sich selbst ändern, während die neuen Daten in das Array eingegeben werden. Da wir mit den Arrays des dynamischen Typs arbeiten wollen, wählen wir Vektorarrays, die verschiedene Funktionen für die Arbeit mit Arrays bieten. Die zweite Header-Datei, die wir eingeschlossen haben, ist, dass wir mit einer Zeichenfolge arbeiten werden. Um damit zu arbeiten, müssen die String -Header -Datei einbezogen werden. Danach haben wir "fstream", "sstream" und den "iostream" eingeschlossen. Fstream wird verwendet, um dem Coder zu ermöglichen, mit dem Dateisystem zu arbeiten. Der SStream ist enthalten, um mit Stringsstream zu arbeiten, mit dem das Objekt mit dem Stream assoziiert wird, sodass es die Zeichenfolge lesen kann.
Schließlich wird die Header -Datei „CMatch“ enthalten, mit der der Codierer verschiedene Berechnungen unter Verwendung der eingebauten Funktionen ausführen kann, die in der "CMATH" -Bibliothek bereitgestellt werden. Mit dem Namespace STD erlaubten wir dem Codierer, die von den STD -Bibliotheken bereitgestellte Variable zu definieren. Nachdem wir alle essentiellen Header -Dateien eingefügt hatten, haben wir eine Vektorzeichenfolge unter Verwendung des Syntax "Vektorname ()" erstellt ". Dies ist die angegebene Syntax zum Erstellen einer Vektorzeichenfolge. In unserem Fall haben wir eine Vektor -String -Variable des Namens „var1“ erstellt, an die wir zwei Parameter übergeben haben: Die erste ist die Anzahl der Zeichenfolge und der zweite ist der Nullwert, was bedeutet Jetzt.
Im nächsten Schritt haben wir ein weiteres Vektor-Array vom Typ String genannt, an dem wir zwei Argumente bestanden haben: Die erste ist die Anzahl der Zeichenfolgen und der zweite ist der „var1“, der das zweite ist der „var1“. Danach deklarierten wir eine Klasse mit dem Namen "My_Class", in der wir eine weitere Vektorzeichenfolge mit dem Namen "var_name" deklarierten, an die wir die Anzahl der Zeichenfolgen "5" übergeben haben. Danach haben wir im "Val" -Array "Val" mit dem Namen "Val" genannt, im "Val" -Array haben wir an zwei Parametern als "val" bezeichnet. Die Anzahl der Zeichenfolgen "5" und den ihm zugewiesenen Wert 0.
Als nächstes haben wir eine Funktion deklariert, die für den gesamten Code öffentlich ist, der die Meldung "Fehler behoben" ausführt. In unserer Hauptfunktion haben wir nun einen variablen Namen "OBJ" vom Typ "my_class" deklariert, um die "Myclass" -Variablen und -funktionen aufzurufen. Am Ende werden wir den Nullwert zurückgeben und den Befehl F7 verwenden, werden wir den Code ausführen.
#enthalten
#enthalten
#enthalten
#enthalten
# enthalten
#enthalten
Verwenden von Namespace STD;
Vektorvar1 (6, "null");
Vektor< vector> var2 (20, var1);
Klasse my_class
Vektorvar_name (5);
VektorVal (5,0);
öffentlich:
meine Klasse()
Cout << "error resolved" <
;
int main ()
my_class obj;
Rückkehr 0;
Jetzt werden wir die Ausgabe des Codes überprüfen, der unter dem Fehler angezeigt wird. Zwei Zeilen wurden angezeigt, Online "15" und "16". Dieser Fehler zeigt „Fehler: Erwartete Kennung vor der numerischen Konstante“ “. Dies bedeutet, dass wir die Variable aus dem Zielfernrohr initialisieren, und etwas fehlt, ob Klammern, Kommas oder sonst. Um diesen Fehler zu beheben, lesen wir beide Zeilen und überprüfen wir aus dem Grund für diesen Fehler und beheben ihn.
Um diesen Fehler zu beheben, haben wir diesen Code der Vektor -Zeichenfolge -Deklaration durch die in dem obigen Code deklariert, die wir deklariert haben. Die richtige Methode zur Initialisierung der Vektorvariablen ist die unten angezeigt: Durch die Verwendung des Zuordnungsbetreiber.
Nachdem wir den Fehler behoben hatten, haben wir unseren Code erneut ausgeführt und Code erfolgreich mit der Meldung im Snippet unten ausgeführt.
Abschluss
In diesem Tutorial haben wir kurz einen Fehler untersucht, der am häufigsten zum Kompilierungszeit auftritt. Dies ist der Syntaxfehler. Diese Art von Fehler tritt hauptsächlich auf, wenn der Programmierer die Daten außerhalb der Klasse initialisiert hat. Und sie traten höchstwahrscheinlich aufgrund schlechter Programmierpraktiken auf. Wir erwarten, dass dieser Artikel für Sie von Vorteil ist, während Sie mit Klassen und Konstruktoren arbeiten. Sie können weitere Beispiele ausprobieren, um besser zu verstehen, wie diese Art von Fehlern behoben werden würde.