Erreur dans un code à priori simple... je ne comprends pas l'erreur.
joshua91
Messages postés22Date d'inscriptionsamedi 31 mai 2003StatutMembreDernière intervention28 juin 2010
-
28 juin 2010 à 15:44
joshua91
Messages postés22Date d'inscriptionsamedi 31 mai 2003StatutMembreDernière intervention28 juin 2010
-
28 juin 2010 à 16:59
Bonjour à tous,
Il s'agit surement d'une erreur de gestion de pointeur sur les tableaux de Char... mais je ne vois pas.
C'est à tous les coups une erreur stupide, et je m'en excuse par avance.
void initPersonne(Personne* pers)
{
pers->prenom = ""; // ou (*pers).prenom
pers->nom = "";
pers->age = 0;
// C'est ici que j'ai des Error : incompatible types in assignment
// mais uniquement pour nom et prenom.
// Erreur identique si je mets NULL a la place des ""
}
_____________________________________________________________________
voici le log :
main.c||In function `initPersonne':|
main.c|59|error: incompatible types in assignment|
main.c|60|error: incompatible types in assignment|
||Build finished: 2 errors, 0 warnings|
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 28 juin 2010 à 16:01
Si tu veux initialiser les chaînes à vide, tu ne peux pas le faire comme cela.
Au choix:
- Tu peux utiliser "memset" pour intialiser toutes les cases du tableau à 0 => memst(pers->prenom, 0, 100);
- Plus rapide, tu ne mets que le premier éléments à 0, puisque une chaîne de caractères s'arrêtent de toute façon au caractère terminal 0 => pers->prenom[0] = 0;