Maison > développement back-end > C++ > le corps du texte

Résoudre le problème « erreur : expression primaire attendue avant « type de données » » dans le code C++

WBOY
Libérer: 2023-08-26 22:52:45
original
1170 Les gens l'ont consulté

解决C++代码中出现的“error: expected primary-expression before 'datatype'”问题

Résolvez le problème « erreur : expression primaire attendue avant 'type de données' » dans le code C++

Lors de l'écriture de code C++, nous rencontrons parfois le message d'erreur « erreur : expression primaire attendue avant 'type de données' ». Cette erreur se produit généralement lorsque nous utilisons des noms de variables ou de fonctions sans suivre les règles de syntaxe correctes. Cet article vous expliquera la cause de cette erreur et vous proposera quelques solutions.

Tout d’abord, regardons un exemple de code pour mieux comprendre cette erreur.

#include <iostream>

int main() {
    int x = 5;
    std::cout << x + std::endl;  // error: expected primary-expression before 'endl'
    return 0;
}
Copier après la connexion

Dans cet exemple, nous voulons afficher la valeur de la variable x plus le résultat de std::endl. Cependant, le compilateur affichera le message d'erreur suivant : "erreur : expression primaire attendue avant 'endl'". x 的值加上 std::endl 的结果。然而,编译器会报错并给出以下错误消息:“error: expected primary-expression before 'endl'”。

我们可以清楚地看到,这个错误是由于我们在输出语句中没有遵循正确的语法而引起的。

该错误的原因有如下几种:

  1. 忘记包含必要的头文件:error: expected primary-expression before 'datatype'

在C++中,我们需要包含相应的头文件才能使用一些特定的数据类型和函数。如果我们忘记包含所需的头文件,编译器将无法识别特定的数据类型和函数,从而导致该错误的出现。

#include <iostream>

int main() {
    string name = "John";  // error: expected primary-expression before 'string'
    std::cout << name << std::endl;
    return 0;
}
Copier après la connexion

在这个示例中,我们忘记了包含 头文件,所以编译器无法识别 string 类型,并报错:“error: expected primary-expression before 'string'”。

解决这个问题的方法是在代码中包含所需的头文件。

#include <iostream>
#include <string>

int main() {
    std::string name = "John";
    std::cout << name << std::endl;
    return 0;
}
Copier après la connexion

在修改之后,代码将能够正确编译和执行。

  1. 使用未定义的变量或函数名称:error: expected primary-expression before 'datatype'

在C++中,当我们使用变量或函数名称时,必须确保它们已经在代码中定义过。如果我们使用一个未定义的变量或函数名称,编译器将无法识别它,并报错:“error: expected primary-expression before 'datatype'”。

#include <iostream>

int main() {
    int x = 5;
    std::cout << y << std::endl;  // error: 'y' was not declared in this scope
    return 0;
}
Copier après la connexion

在这个示例中,我们尝试输出变量 y 的值。然而,变量 y

Nous pouvons clairement voir que cette erreur est causée par le fait que nous ne suivons pas la syntaxe correcte dans l'instruction de sortie.

Les raisons de cette erreur sont les suivantes :

  1. J'ai oublié d'inclure les fichiers d'en-tête nécessaires : erreur : expression primaire attendue avant 'type de données'

En C++, nous devons inclure les fichiers d'en-tête correspondants pour utiliser certains types de données et fonctions spécifiques. Si nous oublions d'inclure les fichiers d'en-tête requis, le compilateur ne reconnaîtra pas les types de données et les fonctions spécifiques, ce qui entraînera cette erreur.

#include <iostream>

int main() {
    int x = 5;
    int y = 10;
    std::cout << y << std::endl;
    return 0;
}
Copier après la connexion
Dans cet exemple, nous avons oublié d'inclure le fichier d'en-tête , donc le compilateur n'a pas reconnu le type string et a signalé une erreur : "erreur : expression primaire attendue avant 'string '".

La solution à ce problème consiste à inclure les fichiers d'en-tête requis dans votre code. 🎜rrreee🎜Après modification, le code sera compilé et exécuté correctement. 🎜
  1. Utilisation d'une variable ou d'un nom de fonction non défini : erreur : expression primaire attendue avant 'type de données'
🎜en C++, lorsque nous utilisons des noms de variables ou de fonctions, nous devons nous assurer qu'ils ont été définis dans le code. Si nous utilisons une variable ou un nom de fonction non défini, le compilateur ne la reconnaîtra pas et signalera une erreur : "erreur : expression primaire attendue avant 'type de données'". 🎜rrreee🎜Dans cet exemple, nous essayons d'afficher la valeur de la variable y. Cependant, la variable y n'est pas définie dans le code, le compilateur ne peut donc pas la reconnaître et rapporte une erreur : "erreur : 'y' n'a pas été déclaré dans cette portée". 🎜🎜La façon de résoudre ce problème est de s'assurer que le nom de la variable ou de la fonction utilisée est déjà défini dans le code. 🎜rrreee🎜Après modification, le code sera compilé et exécuté correctement. 🎜🎜Pour résumer, lorsque nous rencontrons le message d'erreur "erreur : expression primaire attendue avant 'type de données'" dans le code C++, nous devons vérifier les éventuels fichiers d'en-tête manquants et nous assurer que les noms de variables ou de fonctions utilisés ont été définis dans le coder. Suivre les règles de syntaxe correctes aidera à résoudre ce problème afin que le code se compile et s'exécute correctement. 🎜🎜J'espère que cet article vous aidera à résoudre ce problème ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!