CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] petite erreur de compilation

sd460
sd460
Niveau 10
05 août 2008 à 20:35:44

bonjour,

Je me suis remis au C, et là j'ai une petite erreur de compilation, et je ne vois pas le problème...

Pour le nouveau projet sur lequel je travaille, j'ai repris une fonction (qui fonctionne) d'un autre programme que j'avais fait (qui fonctionne lui aussi^^).
Seulement j'ai une erreur de compilation au niveau de cette fonction :
"error C2371: 'nom_fonction' : redéfinition ; types de base différents"
le prototype de la fonction est le suivant :
"void nom_fonction (int **A, int c, int *l, int j)"

Je ne crois pas avoir déjà eu ce type d'erreur, donc si vous avez une idée de sa provenance, merci.

lockless
lockless
Niveau 5
05 août 2008 à 21:08:06

Tu peux paster ton code ?

sd460
sd460
Niveau 10
05 août 2008 à 22:02:38

celui de la fonction ? En fait le problème ne semble pas venir de la fonction, car si je commente l'intégralité des lignes contenues dans la fonction exceptée les 2 accolades de dénut et de fin, cela ne compile pas non plus.

voici la fonction :

void cpuJoueColonne(int **A, int c, int *l, int joueur)
{
int k=0;

while (k<=2)
{
if (A[k][c]>=3)
{
A[k][c]=joueur;
*l=k;
break;
}
else k++;
}
}

Voici une autre fonction, la seule qui fasse appel à la fonction précédente :

void choixCpu(struct Geometrie Geo, int joueur, int **A, int tour, SDL_Surface **ecran, struct couleur couleurUnique)
{
int valid=0,l,c,k;

if (tour==1)
{
srand((int)time(NULL));
c=rand()%3;
l=rand()%3;
A[l][c]=joueur;
}

else if (A[2][2]<=3 && tour<=3)
{
A[2][0]=joueur;
c=0;
l=2;
}
else
{
c=presqueValideColonne(A, joueur);
if (c<3) cpuJoueColonne(A, c, &l, joueur);
else
{

l=presqueValideLigne(A,joueur);
if (l<3) cpuJoueLigne(A, &c, l, joueur);
else
{
k=presqueValidediagonale(A,joueur);
if (k<=5) cpuJoueDiagonale(A,k,&c,&l,joueur);
else
{
c=0;
l=0;
while (valid==0)
{
do
{
if (A[l][c]!=1 && A[l][c]!=2)
{
A[l][c]=joueur;
valid=1;
}
else c++;
}
while ( (valid==0)&&(c<=2) );
if ( (c>2)&&(valid==0) )
{
l++;
c=0;
}
}
}
}
}
}
ajoutMotif(Geo, joueur, l, c, &ecran, couleurUnique);
}

NB : j'ai également la meme erreur en ce qui concerne les 2 autres fonctions qui ont été écrite sur le meme modèle : presqueValidediagonale et presqueValidecolonne.

godrik
godrik
Niveau 30
05 août 2008 à 22:38:55

mmm, je ne comprends pas bien le message d'erreur (pourquoi il les traduisent d'ailleurs). Peux tu mettre le code sur un outil qui fait bien l'indentation/coloration de syntaxe comme http://rafb.net/paste/

sd460
sd460
Niveau 10
06 août 2008 à 00:00:11

oui désolé, j'aurais du y penser avant.

Mais en fait c'est bon, j'ai résolu tout seul comme un grand : j'avais oublié d'inclure le header concerné dans le main. Mais le message d'erreur me faisait penser à un autre problème pas très clair.
Bref, c'est bon, ca marche.

Merci quand meme.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment