Erreur dans l'appelle d'une fonction

cheval22222 Messages postés 1 Date d'inscription jeudi 1 octobre 2009 Statut Membre Dernière intervention 1 octobre 2009 - 1 oct. 2009 à 02:15
dragonjoker59 Messages postés 92 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 23 septembre 2015 - 15 févr. 2010 à 12:22
Bonjour, je suis débutant en programmation et j'ai un problème avec mes petits programmes où je dois faire appel à une fonction quelquonque. Voici le code d'une fonction qui met une donnée entrée par l'utilisateur au carré.

#include



using namespace std;


int main(int argc, char** argv) {
int a;
cout << "entrez une valeur de X " << endl;
cin >> a;
cout << "la valeur de X au carre est: " << square(a) << endl;


int square(int x);
{
return x*x;
}





return (0);
}

Voici les deux erreurs que je reçois:

newmain1.cpp:19: erreur: ‘square’ was not declared in this scope
newmain1.cpp:24: erreur: ‘x’ was not declared in this scope

Quelqu'un à une idée?!

Merci!

2 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
1 oct. 2009 à 08:21
A la ligne 19, le compilo ne connais pas encore ta fonction square, donc tu as 2 solutions, soit déclarer ta fonction avant le main, soit déclarer le prototype de la fonction, prends plutot la 2e solutions.
Pour la ligne 24, tu définis une fonction dans une fonction, c'est interdit (je crois) et tu as mis un ';'.

Regarde des tutoraux, même en C pur.

Ton programme doit ressembler a ca :

#include  
using namespace std;

int square(int x);

int main(int argc, char** argv) {
int a;
cout << "entrez une valeur de X " << endl;
cin >> a;
cout << "la valeur de X au carre est: " << square(a) << endl;
return (0);
}

int square(int x)
{
return x*x;
}
0
dragonjoker59 Messages postés 92 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 23 septembre 2015
15 févr. 2010 à 12:22
euh, de plus on ne peut pas déclarer de fonction dans une autre fonction ('main' est une fonction)
0
Rejoignez-nous