函数调用c+;中未声明的变量+; 我在VisualStudio上使用C++程序,并且正在创建一个函数,用输入产生一个距离。我的代码如下所示: double distancCalc(lat2, long2) { //do math calculation with output } double distanceCalc(double lat2, double long2) { ... code ... }

函数调用c+;中未声明的变量+; 我在VisualStudio上使用C++程序,并且正在创建一个函数,用输入产生一个距离。我的代码如下所示: double distancCalc(lat2, long2) { //do math calculation with output } double distanceCalc(double lat2, double long2) { ... code ... },c++,function,variables,C++,Function,Variables,我遇到的问题是变量lat2和long2是未定义的变量。我的教授不希望我们使用全局变量,因此我不知道如何定义这些变量,这些变量将从主函数输入,而不使用全局变量。看看这是否对您有用: double distancCalc (double lat2, double long2) { .... } 根据函数的用途,您可能更喜欢: double distancCalc (double lat1, double long1, double lat2, double long2) { ...

我遇到的问题是变量lat2和long2是未定义的变量。我的教授不希望我们使用全局变量,因此我不知道如何定义这些变量,这些变量将从主函数输入,而不使用全局变量。

看看这是否对您有用:

double distancCalc (double lat2, double long2)
{
    ....
}
根据函数的用途,您可能更喜欢:

double distancCalc (double lat1, double long1, double lat2, double long2)
{
    ....
}

您指定了一个返回类型和两个参数名,但尚未指定参数类型

double distanceCalc(lat2, long2)
^^1^^^              ^2^^  ^^3^^
{
   ... code ...
}
  • 是没有名称的类型
  • 是一个没有类型的名称
  • 是一个没有类型的名称
  • 您可能打算这样做:

    double distancCalc(lat2, long2)
    {
        //do math calculation with output
    }
    
    double distanceCalc(double lat2, double long2)
    {
        ... code ...
    }
    
    默认参数 <>我在C++上生疏了,但是我知道你可以声明变量为参数,称为默认参数:

    实例
    就像声明变量一样,您可以在函数头中执行它们。显式给变量一个值也是可选的。

    谢谢!我想我真的很累了,因为在我问了这个问题之后,我意识到了如何解决这个问题。谢谢你的帮助@EmilyKelly:我更新了我的答案,补充了您可能缺少的更多内容。在修复函数原型后,请参阅下面的答案,您可以在main
    distanceCalc(100100)