logo Homepage
+  NewbieContest
|-+  Programmation» Langages compilés» [C] Probleme de compilation
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [C] Probleme de compilation  (Lu 5710 fois)
banshee
Profil challenge

Classement : 38268/55017

Néophyte
*
Hors ligne Hors ligne
Messages: 2


Voir le profil
« le: 05 Décembre 2006 à 20:24:06 »

Bon voilà, je suis entrain de réaliser un projet mais j'ai une partie de mon code qui ne veux pas compiler et qui m'affiche des erreurs incompréhensibles.

Voila mon code :

#include <iostream>
#include <cmath>
using namespace std;
struct pixel {
  int x,y;
};
int distance (pixel p, pixel g){
return sqrt ((p.x - g.x)*(p.x - g.x)+(p.y - g.y)*(p.y - g.y));
}

int main (int argc, char * const argv[]) {
   pixel p,g;
   int r;
   p.x=3;
   p.y=4;
   g.x= 5;
   g.y =8;
r =distance (p,g) ;
cout<<r;
}

Merci d'avance...
Journalisée
shiroko
Profil challenge

Classement : 12288/55017

Membre Complet
***
Hors ligne Hors ligne
Messages: 115


Voir le profil
« #1 le: 05 Décembre 2006 à 20:34:23 »

Heu .... c'est quoi l'erreur ? Tu compiles avec quoi ?
Journalisée
banshee
Profil challenge

Classement : 38268/55017

Néophyte
*
Hors ligne Hors ligne
Messages: 2


Voir le profil
« #2 le: 05 Décembre 2006 à 20:44:14 »

Je suis sous Xcode (mac os X)

error : no type named 'iterator_category' in 'struct pixel'
error : no type named 'value_type' in 'struct pixel'
error : no type named 'difference_type' in 'struct pixel'
error : no type named 'pointer' in 'struct pixel'
error : no type named 'reference' in 'struct pixel'
Journalisée
zours

Profil challenge

Classement : 555/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 811


Voir le profil
« #3 le: 05 Décembre 2006 à 21:01:16 »

Désolé banshee, mais distance est un nom déjà utilisé.

Pour que ça marche, faudra en utiliser un autre (sans compter que t'as une erreur de typage, faudra aussi caster).
Journalisée
neoflo
Profil challenge

Classement : 8163/55017

Membre Complet
***
Hors ligne Hors ligne
Messages: 171


Voir le profil WWW
« #4 le: 05 Décembre 2006 à 22:16:15 »

Citation de: zours
Désolé banshee, mais distance est un nom déjà utilisé.
C'est utilisé par la STL mais suffit de pas faire le boulet à utiliser : using namespace std;

Je te signale au passage que ta fonction main est censé retourner un int.

Code:
#include <iostream>
#include <cmath>

struct pixel {
  int x,y;
};


double distance (pixel p, pixel g){
return sqrt ((p.x - g.x)*(p.x - g.x)+(p.y - g.y)*(p.y - g.y));
}

int main (void) {
 pixel p,g;
 double r;
 
 p.x=3;
 p.y=4;
 g.x= 5;
 g.y =8;
 
 r =distance (p,g) ;
 
 std::cout<<r;

 return EXIT_SUCCESS;

}
Journalisée

Nebelmann

Profil challenge

Classement : 470/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1357


Voir le profil
« #5 le: 06 Décembre 2006 à 08:46:10 »

Citation
Je te signale au passage que ta fonction main est censé retourner un int.
Un double, non ?
Journalisée

-- Nebelmann -- Registered linux user #429186
«Si les lecteurs étaient des compilateurs, les posteurs feraient peut-être davantage attention à ce qu'ils écrivent...»
Invit
Invité
« #6 le: 06 Décembre 2006 à 09:25:43 »

Citation de: neoflo
ta fonction main est censé retourner un int.
Citation de: Nebelmann
Un double, non ?
non
Citation de: neoflo
int main (void)
Journalisée
Nebelmann

Profil challenge

Classement : 470/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1357


Voir le profil
« #7 le: 06 Décembre 2006 à 16:45:03 »

pwn3d, j'avais lu "la fonction distance" xD
Journalisée

-- Nebelmann -- Registered linux user #429186
«Si les lecteurs étaient des compilateurs, les posteurs feraient peut-être davantage attention à ce qu'ils écrivent...»
Pages: [1]
  Imprimer  
 
Aller à: