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

Comment résoudre l'erreur de syntaxe C++ : « ID non qualifié attendu avant le jeton « < » ?

王林
Libérer: 2023-08-26 22:46:52
original
7085 Les gens l'ont consulté

如何解决C++语法错误:'expected unqualified-id before '<' token'?

Comment résoudre l'erreur de syntaxe C++ : « ID non qualifié attendu avant le jeton < » ?

Dans le développement du C++, nous rencontrons souvent diverses erreurs. L'une des erreurs courantes est « ID non qualifié attendu avant le jeton < ». Cette erreur signifie généralement qu'un identifiant manque quelque part, mais que le compilateur a trouvé le symbole '<'. Cette erreur est courante lors de l'utilisation de modèles ou de programmation générique.

Dans cet article, nous expliquerons comment identifier et corriger cette erreur de syntaxe, et fournirons quelques exemples d'erreurs courantes.

1. Cause de l'erreur

Habituellement, l'erreur « ID non qualifié attendu avant le jeton « < » est causée par deux problèmes courants :

  1. Paramètres de modèle manquants
    Lors de l'utilisation de la programmation de modèles, vous devez la transmettre. au modèle Entrez les paramètres appropriés. Cette erreur se produira si aucun paramètre n'est transmis au modèle ou si des paramètres incorrects sont transmis.
  2. Point-virgule manquant
    Dans certains cas, cette erreur se produit si un point-virgule n'est pas ajouté à la fin de l'instruction.

2. Exemples d'erreurs et solutions

  1. Exemple 1 : paramètre de modèle manquant
template<class T>
class MyClass {
public:
    T value;
};
  
int main() {
    MyClass<int> obj;  // 正确用法:给模板传入适当的参数
    MyClass obj2;  // 错误用法:未给模板传入参数
    obj.value = 10;
    return 0;
}
Copier après la connexion

Dans l'exemple ci-dessus, lors de la définition de la classe MyClass, vous devez lui transmettre un paramètre de modèle<classe T>. Lors de la création de l'objet obj, nous avons réussi à transmettre un paramètre approprié <int> au modèle. Mais lors de la création de l'objet obj2, nous n'avons pas transmis de paramètres au modèle. Dans ce cas, le compilateur signalera une erreur et demandera « ID non qualifié attendu avant « < » jeton ». Pour résoudre cette erreur, il suffit de transmettre un paramètre de modèle approprié à l'objet obj2, tel que <int>. MyClass类时,需要给它传入一个模板参数<class T>。在创建对象obj时,我们成功地给模板传入了一个适当的参数<int>。但是在创建对象obj2时,我们未给模板传入参数。这样一来,编译器就会报错并提示'expected unqualified-id before '<' token'。解决这个错误,我们只需给obj2对象传入一个合适的模板参数,如<int>

示例一解决方法:

MyClass<int> obj2;  // 给模板传入适当的参数
Copier après la connexion
  1. 示例二:缺少分号
#include <iostream>
  
int main() {
    std::cout << "Hello World" << std::endl
    return 0;
}
Copier après la connexion

在上述示例中,在输出语句std::cout << "Hello World" << std::endl

Solution de l'exemple 1 :

std::cout << "Hello World" << std::endl;  // 添加分号
Copier après la connexion
    Exemple 2 : point-virgule manquant

    rrreee

    Dans l'exemple ci-dessus, dans l'instruction de sortie std::cout << " Il n'y a pas de point-virgule après << std::endl. De cette façon, le compilateur affichera l'erreur « ID non qualifié attendu avant le jeton « < ». Pour résoudre cette erreur, nous ajoutons simplement un point-virgule à la fin de l’instruction.

    🎜Exemple 2 de solution : 🎜rrreee🎜3. Résumé🎜🎜Dans le développement C++, l'erreur « ID non qualifié attendu avant le jeton « < » est une erreur de syntaxe courante. Cela est généralement dû à des paramètres de modèle manquants ou à des points-virgules manquants. En vérifiant soigneusement le code et en ajoutant les paramètres ou points-virgules appropriés là où se situe le problème, nous pouvons résoudre avec succès cette erreur. 🎜

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!