我在这个项目中遇到了很多问题,我想了很多。但这个我不能
这里我有一些计算,然后我需要这个“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”未在此范围内声明。 我犯了哪个错误?
谢谢
答案 0 :(得分:1)
在这一行
float iGuess = Ing(y);
您没有声明y,这会导致错误。你想传递给Ing()的价值是什么?
你有两个为Ing(int,float)定义的参数,但只用一个参数调用它。
答案 1 :(得分:0)
y = 0;
应该是
int y = 0;
因为此时尚未声明y
并且您正在定义变量。