错误:未解析的外部符号

时间:2012-10-27 03:11:16

标签: c++ linker-errors

我应该编写一个以英尺和英寸为单位读取长度的程序,并以米和厘米为单位输出等效长度。使用至少三个函数:一个用于输入,一个或多个用于计算,一个用于输出。包括一个循环,让用户重复此计算以获得新的输入值,直到用户说他或她想要结束程序。谷歌在不同单位之间进行转换。事情是我应该使用引用函数调用。 所以,我已经尝试过,但我一直收到这个错误:

  

错误LNK2019:函数_main

中引用的未解析的外部符号“double __cdecl convert(double,double)”(?convert @@ YANNN @ Z)

我以前从来没有遇到过这个错误所以我甚至得不到它告诉我的内容。在我解决这个问题后,我将把循环放入,因为我已经知道如何做到这一点。谢谢。

#include <iostream>
#include <conio.h>

using namespace std;

int bLength, sLength;

void  length(double bLength, double sLength);
double  conv(double bLength, double sLength);
void  output(double bLength, double sLength);


int main()
{
length(bLength, sLength);
conv(bLength, sLength);
output(bLength, sLength);

getche();
return 0;
}

void length(double bLength, double sLength)
{
            cout<<"Enter a length in feet, then enter a length in inches if needed: ";
        cin>>bLength>>sLength;
    return;
}

double conv(double bLength, double sLength)
{
    bLength = bLength * 2.54;
    sLength = sLength * .3048;

    return bLength;
    return sLength;
}

        void output(double bLength, double sLength)
        {
            cout<<"Your input is converted to "<<bLength<<" meters, and "<<sLength<<"                 centimeters.";
    return;
}

1 个答案:

答案 0 :(得分:1)

您的函数定义和声明不匹配。

double  convert(double bLength, double sLength);

然后你实现它。

double conv(double bLength, double sLength)
{
  //code runs here
}

注意功能名称的区别。