'y'未在此范围内声明,

时间:2013-10-15 01:02:24

标签: c++ compilation

我在这个项目中遇到了很多问题,我想了很多。但这个我不能

这里我有一些计算,然后我需要这个“y”变量传递给下一个.cpp

#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);
}

这是下一个.cpp

#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);
}

但是在编译时它给出了错误,即“y”未在此范围内声明。 我犯了哪个错误?

谢谢

2 个答案:

答案 0 :(得分:1)

在这一行

float iGuess = Ing(y);

您没有声明y,这会导致错误。你想传递给Ing()的价值是什么?

你有两个为Ing(int,float)定义的参数,但只用一个参数调用它。

答案 1 :(得分:0)

y = 0;

应该是

int y = 0;

因为此时尚未声明y并且您正在定义变量。