English

Comment résoudre des erreurs communes dans Visual C++

Visual C++ peut parfois donner des erreurs très cryptiques qui donnent du fil à retordre aux débutants. Lorsque les messages d'erreurs sont en français, il peut être difficile de trouver de l'aide, alors voici quelques pointeurs (heheh) pour vous aider. Après avoir travaillé quelques mois avec Visual C++, voici les erreurs que j'ai rencontrées le plus fréquemment, et comment les résoudre.

Run-Time Check Failure #2 - Stack around the variable '[votre variable]' was corrupted.

J'ai souvent rencontré cette erreur en essayant d'envoyer trop de données dans un tableau trop petit. Voici un exemple qui génère cette erreur:

char monNom[10];
printf("Veuillez entrer votre nom complet:\n");
gets(monNom); //L'utilisateur s'appelle Jean-Sébastien Dieudonné-Marseille de Pointe-sur-mer

Dans cette situation, nous tentons d'entrer un nom de 54 lettres dans un tableau pouvant en accepter 10. C'est plus ou moins l'équivalent du "ArrayIndexOutOfBoundsException" dans plusieurs langages.

error C2143: erreur de syntaxe : absence de ';' avant 'type'

Cette erreur est de loin l'une des plus cryptiques, mais une fois qu'on s'en souvient, elle est très facile à réparer. Cette erreur se produit généralement quand vous déclarez votre variable après d'autres instructions. En C, les variables doivent être déclarées au sommet du bloc. Le code suivant génère cette erreur:

void maFonction(){
	int foo = 1;
	printf("%d",foo);
	int bar = 2; //bar est déclaré après l'instruction printf
	printf("%d",bar);
}

Dans le cas précédent, il aurait fallu déclarer bar avant l'appel à l'instruction printf.

error LNK2019: symbole externe non résolu _main référencé dans la fonction ...

Cette erreur signifie que le programme tente d'utiliser une fonction qu'il n'arrive pas à trouver. Dans l'exemple ci-dessus, il s'agit de la fonction main, qui doit être présente dans chaque programme. Assurez-vous de bien avoir défini la fonction, et de le faire soit dans l'en-tête ou avant que celle-ci soit appelée.

IntelliSense : identificateur "[variable]" non défini

Cette erreur est plutôt facile à régler. Cela signifie simplement que vous n'avez pas encore déclaré votre variable et que vous tentez de l'utiliser.

Laisser un commentaire