L'erreur dont nous discuterons dans ce tutoriel est «Erreur: identifiant attendu avant la constante numérique». Cette erreur se produit principalement lorsque nous essayons d'initialiser ou de déclarer les membres de données en dehors de la méthode sans utiliser de bretelles. Avant l'introduction de C ++ 11, un codeur pourrait d'abord les déclarer et ensuite nous initialiserons la valeur à eux. Ou nous pouvons dire qu'en dehors de la classe, nous ne pouvons pas initialiser les valeurs à l'aide du constructeur.
Voyons la syntaxe. Nous allons effectuer un exemple pour apprendre à supprimer ces erreurs et la façon de vérifier la raison.
Syntaxe:
Il n'y a pas une telle syntaxe spécifiée pour cette erreur car ce n'est pas la commande pour effectuer une action ou l'appel de fonction. Cette erreur ressemble comme suit:
Erreur: identifiant attendu avant constante numérique
Dans l'erreur ci-dessus, l'identifiant indique les noms uniques des variables. La constante numérique est la collection de chiffres, de signes principaux ou de décimaux. Par exemple, 3.0, 3, -2. Les constantes numériques non valides sont de 2, 1b, 3…, 4. Etc.
Exemple # 01:
Perdons un exemple pour vérifier comment l'erreur se produit et la façon de résoudre ces erreurs. Avant de passer à notre code principal, nous inclurons nos fichiers d'en-tête qui sont «vecteur», «chaîne», «sstream», «fstream», «isotream» et «cmath». Le fichier d'en-tête vectoriel est le même que les tableaux dynamiques, ils peuvent se redimensionner pendant que les nouvelles données sont entrées dans le tableau. Comme nous allons travailler avec les tableaux du type dynamique, nous choisissons donc les tableaux vectoriels, qui fournissent diverses fonctions pour travailler avec des tableaux. Le fichier d'en-tête de deuxième corde que nous avons inclus est parce que nous allons travailler avec une chaîne de caractères. Et pour travailler avec, il est nécessaire d'inclure le fichier d'en-tête de chaîne. Après cela, nous avons inclus «fstream», «sstream» et «isostream». FStream est utilisé pour permettre au codeur de travailler avec le système de fichiers. Le sstream est inclus pour travailler avec Stringstream qui est utilisé pour associer l'objet au flux lui permettant de lire la chaîne si elle est diffusée, où iOStream est utilisé pour effectuer les opérations d'E / S.
Enfin, le fichier d'en-tête «cmatch» est inclus qui est utilisé pour permettre au codeur d'effectuer divers calculs en utilisant les fonctions intégrées fournies par la bibliothèque «CMATH». Ensuite, en utilisant l'espace de noms STD, nous avons permis au codeur de définir la variable fournie par les bibliothèques STD. Après avoir inclus tous les fichiers d'en-tête essentiels, nous avons créé une chaîne vectorielle en utilisant la syntaxe «Vector Name ()». Il s'agit de la syntaxe spécifiée pour créer une chaîne vectorielle. Dans notre cas, nous avons créé une variable de chaîne vectorielle du nom «var1» auquel nous avons passé deux paramètres: le premier est le nombre de la chaîne et le second est la valeur nulle, ce qui signifie que nous ne voulons rien y stocker correctement dans maintenant.
Dans l'étape suivante, nous avons déclaré un autre tableau de vecteur de type chaîne nommé «var2» auquel nous avons passé deux arguments: le premier est le nombre de cordes et le second est le «var1». Après cela, nous avons déclaré une classe nommée «my_class» à l'intérieur de laquelle nous avons déclaré une autre chaîne vectorielle nommée «var_name» auquel nous avons passé le nombre de chaînes «5». Après cela, un autre tableau vectoriel de type entier que nous avons déclaré qui, nous avons nommé «Val», dans le tableau «Val», nous avons passé deux paramètres le nombre de chaînes «5» et la valeur 0 qui lui est attribuée.
Ensuite, nous avons déclaré une fonction publique pour l'ensemble du code qui exécutera le message «Erreur résolue». Maintenant, dans notre fonction principale, nous avons déclaré un nom de variable «obj» de type «my_class» pour appeler les variables et fonctions «myclass». À la fin, nous retournerons la valeur nul et en utilisant la commande F7, nous exécuterons le code.
#inclure
#inclure
#inclure
#inclure
# inclure
#inclure
Utilisation de Namespace Std;
vecteurvar1 (6, "null");
vecteur< vector> var2 (20, var1);
classe my_class
vecteurvar_name (5);
vecteurVal (5,0);
public:
Ma classe()
couter << "error resolved" <
;
int main()
my_class obj;
retour 0;
Maintenant, nous allons vérifier la sortie du code affichée sous l'erreur. Deux lignes ont été affichées, en ligne «15» et «16». Cette erreur montre «Erreur: identifiant attendu avant la constante numérique». Cela signifie que nous initialisons la variable hors de la portée et que quelque chose manque, que ce soit des accolades, des virgules ou bien. Pour résoudre cette erreur, nous lirons les deux lignes et consulterons pour la raison de cette erreur et la résoudrons.
Pour résoudre cette erreur, nous venons de remplacer ce code de déclaration de chaîne vectorielle avec celui que nous avons déclaré dans le code ci-dessus. La bonne méthode pour initialiser la variable vectorielle est celle qui s'affiche ci-dessous: en utilisant l'opérateur d'affectation, nous attribuons les valeurs à la variable vectorielle, ou en la passant via des accolades bouclées.
Après avoir résolu l'erreur, nous avons à nouveau exécuté notre code et exécuté le code avec succès avec le message affiché dans l'extrait ci-dessous.
Conclusion
Dans ce tutoriel, nous avons brièvement étudié une erreur qui se produit le plus souvent au moment de la compilation, qui est l'erreur de syntaxe. Ce type d'erreur se produit principalement lorsque le programmeur a initialisé les données en dehors de la classe. Et ils se sont très probablement produits en raison de mauvaises pratiques de programmation. Nous nous attendons à ce que cet article vous soit avantageux tout en travaillant avec des cours et des constructeurs. Vous pouvez essayer plus d'exemples pour mieux comprendre comment ces types d'erreurs seraient résolus.