"y" n'a pas été déclarée dans ce cadre,l'

J'ai eu beaucoup de problèmes avec ce projet, j'ai compris beaucoup de choses. mais ce que je ne peux pas

Ici, j'ai quelques calculs, et puis j'ai besoin de ce "y" variable à transmettre à la prochaine .rpc

#include <iostream>
#include <math.h>
using namespace std;
int Ing(int number, float y)
{
y = 0;
float Lngth = 0;
for(; number != 0; number /= 10, Lngth++);
float n = nearbyint(sqrt(Lngth));
y = Lngth * pow(10, n);
return  (y);
}

ici est la suivante .rpc

#include <iostream>
#include "InitialGuess.h"
#include <math.h>
using namespace std;
int SquareRoot(int number, int th)
{
float iGuess = Ing(y);
float x = iGuess;
 for (int k=1; k< th; ++k)
    {
        x = (x + (number / x ))/2; 
} 
cout<<x;    
return (x);
}

Mais sur la compilation Il me donne l'erreur que "y" n'a pas été déclarée dans ce champ d'application.
Où j'ai fait une erreur?

Merci

  • Changer de int y = 0;
  • Vous avez besoin d'apprendre le C++ Étendues à comprendre que le message d'erreur ne pouvait pas être plus clair en vous disant comment résoudre le problème: tutorialspoint.com/cplusplus/cpp_variable_scope.htm
  • Si je l'ai changer pour int y = 0, il va ombre parametr
  • Peut-être que vous ne comprenez pas que la fonction racine carrée est un champ d'application différent de la fonction Ing. Juste parce que vous avez fourni la variable dans une seule ne fournit pas dans l'autre.