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 :
2. Exemples d'erreurs et solutions
template<class T> class MyClass { public: T value; }; int main() { MyClass<int> obj; // 正确用法:给模板传入适当的参数 MyClass obj2; // 错误用法:未给模板传入参数 obj.value = 10; return 0; }
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; // 给模板传入适当的参数
#include <iostream> int main() { std::cout << "Hello World" << std::endl return 0; }
在上述示例中,在输出语句std::cout << "Hello World" << std::endl
std::cout << "Hello World" << std::endl; // 添加分号
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.
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!