Maison  >  Article  >  développement back-end  >  Comment résoudre l'erreur de syntaxe C++ : « expression primaire attendue avant le jeton « * » » ?

Comment résoudre l'erreur de syntaxe C++ : « expression primaire attendue avant le jeton « * » » ?

WBOY
WBOYoriginal
2023-08-25 19:16:463541parcourir

如何解决C++语法错误:'expected primary-expression before '*' token'?

Comment résoudre l'erreur de syntaxe C++ : « expression primaire attendue avant le jeton « * » »

Dans le processus d'apprentissage de la programmation C++, nous rencontrons souvent diverses erreurs de syntaxe. L'une des erreurs courantes est « expression primaire attendue avant le jeton « * » ». Cette erreur se produit généralement lors de l’utilisation de pointeurs, principalement parce que nous utilisons une mauvaise syntaxe quelque part ou oublions d’utiliser la syntaxe correcte. Certaines causes courantes d'erreurs et de solutions sont présentées ci-dessous.

  1. J'ai oublié de déclarer la variable de pointeur avant d'utiliser le pointeur :
    Avant d'utiliser le pointeur, nous devons d'abord déclarer la variable de pointeur. Si nous oublions de déclarer une variable de pointeur et d'utiliser le pointeur directement, l'erreur « expression primaire attendue avant le jeton « * » » se produira. Voici un exemple :
int *ptr; // 正确的声明指针变量
*ptr = 5; // 错误的使用指针

La solution est de déclarer la variable pointeur avant de l'utiliser comme ceci :

int *ptr; // 声明指针变量
ptr = new int; // 分配内存
*ptr = 5; // 使用指针
delete ptr; // 释放内存
  1. Mauvais placement de l'astérisque :
    En C++, on utilise un astérisque pour représenter les pointeurs, mais si l'étoile est à la mauvaise position du numéro provoquera également l'erreur « expression primaire attendue avant le jeton « * ». Voici un exemple :
int *ptr = new int;
*ptr = 5; // 正确的使用指针

int* ptr = new int;
* ptr = 5; // 错误的使用指针,星号的位置错误

La solution est de mettre l'astérisque après le nom de la variable comme ceci :

int *ptr = new int;
*ptr = 5; // 正确的使用指针
  1. Erreur de syntaxe :
    Parfois, l'erreur « expression primaire attendue avant le jeton « * » » peut également être en raison d'autres erreurs de syntaxe. Par exemple, des points-virgules manquants, des parenthèses incompatibles, etc. Voici un exemple :
int *ptr = new int
*ptr = 5;

La solution est de vérifier les autres erreurs de syntaxe dans le code et de les corriger comme suit :

int *ptr = new int;
*ptr = 5;

Lors de la résolution des erreurs de syntaxe, nous devons vérifier attentivement le code et comprendre les caractéristiques de la syntaxe et des règles C++. Nous pouvons également utiliser un IDE (Integrated Development Environment) pour nous aider à trouver et résoudre les erreurs de syntaxe. Les IDE donnent généralement des conseils et des suggestions lorsque nous saisissons du code pour nous aider à éviter certaines erreurs courantes.

Pour résumer, lorsque nous rencontrons une erreur de syntaxe C++ : « expression primaire attendue avant le jeton « * » », nous devons d'abord vérifier si nous avons oublié de déclarer une variable de pointeur, si la position de l'astérisque est correcte et si une autre syntaxe des erreurs existent. En vérifiant et en corrigeant soigneusement le code, nous pouvons résoudre avec succès cette erreur et poursuivre la programmation C++ en douceur.

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!

Déclaration:
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