Erreur : conversion from char* to non-scalar

k1ngstr -  
 k1ngstr -
Bonjour,

J'ai un petit souci avec un bout de code en c++, je me demandais si vous pouviez m'aider à débugguer mais sachez que je suis débutant alors j'ai du mal ^^'

Voici la procédure avec la définition des types.

(Le but étant de coder une CDthèque)

Si vous voulez tout les reste du code, je pourrais le mettre

# types

struct Artiste // #1 Artiste au sens général et pas un artiste précis
{
	bool yatilqqn; 
	char nomAR[MAX], soundzlike[MAX];	
	CD album, ep, demo, dvd, live;
};

# Variable globale

Artiste liste_artiste[MAX_ARTISTE];

#procédure

// Procédure ajouterUnArtiste()
//   Ajout d'un artiste dans le tableau liste_artiste
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void ajouterUnArtiste()
{
	int pl; // pl pour placeLibre : Fonction pour vérifier si ya une place libre dans le tableau
	
	pl = placeLibre();
	if(pl==-1)
	{
		printf("Pas de place");
	}
	else
	{
		printf("Entrer le nom d'un artiste à ajouter\n");
		scanf("%s", liste_artiste[pl].nomAR);
		while(getchar()!='\n');

		
		if(estPresent(liste_artiste[pl].nomAR)==-1) # C'est là que ça bug selon gcc
		{
			printf("Yep ");
		}
		
		else
		{
			printf("Deja present");
		}
	}
}


L'erreur retrournée est

error : conversion from char* to non-scalar type Artiste

l'endroit du bug je l'ai mis en commentaire

Merci de votre précieuse aide!!

Cordialement,

k1ngstr






2 réponses

le père
 
Bonjour

On ne sait pas comment est définie ta fonction estPresent, mais elle attend sans doute une variable de type Artiste. Et toi tu lui passes seulement le nom de l'artiste, un char *.
if(estPresent(liste_artiste[pl])==-1) marche sans doute mieux ( le ==-1 est-il utile, d'ailleurs ?)
1
k1ngstr
 
:O !!!! C'est ça !!!!
C'est bon, ça marche enfin !!!!
Un grand merci !! Tu as su tout de suite repérer le problème même avec un bout de code manquant !! :D

Très cordialement,
Tchou ! ^^
0