Erreur C ++ Expression primaire attendue avant

Erreur C ++ Expression primaire attendue avant

Lors de l'écriture d'un code, un programmeur peut rencontrer certaines ambiguïtés. Il existe différents types d'erreurs telles que les erreurs logiques, les erreurs de temps de compilation ou l'erreur de syntaxe. Les erreurs logiques sont difficiles à comprendre car elles ne montrent aucune erreur tandis que les erreurs de temps de syntaxe et de compilation ne s'exécutent même pas; Ils génèrent une erreur tandis que la compilation du code commence.

Aujourd'hui, nous discuterons d'une erreur de syntaxe qui peut se produire en raison de quelque chose qui manque dans le code ou quelque chose qui est ajouté au code. L'erreur dont nous allons discuter est «l'expression primaire attendue». Cette erreur se produit principalement lorsqu'il y a un mot-clé manquant. Pour connaître cette erreur, il y a un mot-clé ou un caractère à la fin qui montre la raison de l'occurrence d'erreur. Lorsque la syntaxe n'est pas correctement suivie par le codeur, il exécute avec succès. Il affiche l'erreur qui indique la ligne où elle est rencontrée.

Les principales raisons de l'occurrence de l'erreur sont:

  • Si le type de données de l'argument est également spécifié avec la variable, il invoque une erreur.
  • Si l'argument passé est le mauvais type, comme la façon dont passer une chaîne à la fonction est un mauvais type car nous ne pouvons pas transmettre une chaîne à la fonction.
  • Si les accolades bouclées sont manquantes ou si des accolades supplémentaires sont ajoutées par erreur, ce qui génère l'erreur.
  • Il se produit également lorsque la parenthèse dans l'instruction IF n'a aucune expression ni résultat.

Syntaxe:

Comme nous l'avons discuté dans l'introduction, il s'agit d'une erreur et non d'un morceau de code qui doit avoir une syntaxe spécifiée. Ce qui suit est l'échantillon d'erreur de ce à quoi il ressemble.

Erreur: expression primaire attendue avant «élément»

Dans l'erreur précédente, «élément» désigne le mot-clé dans lequel toute expression est manquante ou ajoutée. Une expression peut être un caractère, une valeur arithmétique, des accolades ou une expression relationnelle.

Exemple 1:

Maintenant, nous effectuons un exemple dans lequel nous effectuons un ajout de deux variables dans une fonction définie par l'utilisateur, puis affichons la somme des deux valeurs. Incluons nos fichiers d'en-tête «iOStream» et «String». Iostream est utilisé pour permettre au compilateur d'utiliser les opérations d'E / S intégrées qui en sont fournies où la chaîne nous permet de travailler avec la collection de caractères. Ensuite, nous déclarons une fonction définie par l'utilisateur nommé «MyFunct ()» auquel nous transmettons deux arguments pour les variables qui sont calculées. À l'intérieur de cette fonction, nous déclarons une variable nommée addition qui est chargée de maintenir la somme de «Var1» et «Var2 variables.

Maintenant, en vous dirigeant vers la fonction principale où nous définissons la valeur entière «résultat» auquel nous attribuons la méthode myfunct () en passant deux valeurs entières, «20» et «30». Après cela, nous exécutons la valeur de retour de la fonction stockée dans la variable «Résultat» à l'aide de l'instruction COUT qui est fournie par la bibliothèque iOStream.

#inclure
#inclure
Utilisation de Namespace Std;
int myfunct (int var1, int var2)

INT ADDAT;
addition = var1 + var2;
Ajout de retour;

int main()

INT Result = MyFunct (20, 30);
std :: cout << "addition of var1 and var2 is:"<< result << std::endl;

Après l'exécution du code, nous rencontrons deux erreurs sur la ligne 12 qui indiquent un problème avec l'élément «int», ce qui signifie que nous ne pouvons pas transmettre le type de données avec le nom de variable comme argument à la fonction. Les arguments sont toujours passés sans le type de données à l'appel de la fonction. Maintenant, nous supprimons l'erreur en éliminant les données que nous y transmettons, puis réexécutant le code.

Après réexécution, nous avons affiché avec succès la valeur de retour de l'ajout, comme nous pouvons le voir dans la capture d'écran suivante:

Exemple 2:

Maintenant, nous essayons un autre exemple dans lequel nous calculons la longueur du mot, calculons sa permutation et l'affichage. Après avoir inclus les fichiers d'en-tête, nous déclarons les trois fonctions. La fonction getData () qui obtient une chaîne de l'utilisateur. À l'intérieur de cette méthode, nous déclarons une variable de chaîne, «mot». En utilisant l'instruction «CIN», nous obtenons la chaîne de l'utilisateur et renvoyons sa valeur. La deuxième fonction est la «longueur_count ()» qui calcule la longueur de la chaîne à l'aide de la méthode longueur () et renvoie sa valeur. La troisième fonction est «myfunc ()» qui vérifie si la longueur de la chaîne est supérieure à «1». Ensuite, il calcule la permutation et le renvoie autrement. Il renvoie simplement la longueur de la chaîne.

Enfin, nous passons à la fonction principale où nous déclarons une variable de chaîne nommée «Word» auquel nous avons attribué l'appel de la fonction du getData (). Cela signifie que les données que nous avons prises de l'utilisateur sont affectées à la variable «mot» et créant une autre variable qui est «WordLength» à laquelle nous attribuons l'appel de fonction de la longueur_count () où nous passons la variable «mot» avec son type de données «String». Enfin, en utilisant l'instruction COUT, nous affichons le résultat de la permutation de la chaîne que nous avons tirée de l'utilisateur et exécutons le code.

#inclure
#inclure
Utilisation de Namespace Std;
String getData ();
int longueur_count (mot de chaîne);
int myfunc (int wordLength);
String getData ()

String word;
couter << "Please enter a word: ";
cin >> mot;
retour mot;

int longueur_count (mot de chaîne)

int wordLength;
wordLength = word.longueur();
return wordLength;

int myfunc (int wordLength)

if (wordLength == 1)

return wordLength;

autre

return wordLength * myfunc (wordLength - 1);


int main()

String word = getData ();
int wordLength = longueur_count (word String);
couter << word << " has " << myfunc(wordLength) << " permutations." << endl;
retour 0;

Après l'exécution, nous obtenons cette erreur qui affiche que nous avons fait une erreur à la ligne 43. Nous passons le type de données à la fonction avec la variable. Comme nous le savons, nous ne pouvons pas transmettre le type de données à la variable. Maintenant, nous essayons de résoudre cette erreur en supprimant le type de données de l'appel de fonction et en l'exécutant à nouveau.

Après avoir à nouveau exécuté le code, nous avons affiché avec succès le message pour avoir la valeur de l'utilisateur pendant que nous entrons la chaîne «JS». Après cela, la permutation du code s'affiche comme indiqué dans ce qui suit:

Conclusion

Dans cet article, nous avons étudié le type d'erreur qui peut être rencontré lors de l'écriture du code. Parfois, le codeur peut manquer quelque chose ou il / elle peut ajouter une expression ou déclarer une mauvaise syntaxe pour les fonctions ou les déclarations par erreur. En utilisant la revue détaillée et la mise en œuvre des exemples, nous avons brièvement décrit l'erreur et la raison pour laquelle cette erreur peut être rencontrée. Nous avons également discuté de la méthodologie pour résoudre ces erreurs. Nous espérons que cet article vous est utile de résoudre ce genre d'erreurs.