C++ 错误:未解析的外部符号
我应该写一个程序,读取以英尺和英寸为单位的长度,输出以米和厘米为单位的等效长度。至少使用三个函数:一个用于输入,一个或多个用于计算,一个用于输出。包括一个循环,允许用户对新的输入值重复此计算,直到用户说他或她想结束程序。谷歌为不同单位之间的转换。问题是我应该使用引用调用函数。 所以,我试过了,但我不断地得到这个错误: 错误LNK2019:未解析的外部符号“双精度cdecl转换(双精度,双精度)”(?转换@@YANNN@Z)在函数_main中引用 我以前从来没有犯过这样的错误,所以我甚至不知道它告诉我什么。在我解决这个问题后,我会把这个循环放进去,因为我已经知道怎么做了。多谢各位C++ 错误:未解析的外部符号,c++,linker-errors,C++,Linker Errors,我应该写一个程序,读取以英尺和英寸为单位的长度,输出以米和厘米为单位的等效长度。至少使用三个函数:一个用于输入,一个或多个用于计算,一个用于输出。包括一个循环,允许用户对新的输入值重复此计算,直到用户说他或她想结束程序。谷歌为不同单位之间的转换。问题是我应该使用引用调用函数。 所以,我试过了,但我不断地得到这个错误: 错误LNK2019:未解析的外部符号“双精度cdecl转换(双精度,双精度)”(?转换@@YANNN@Z)在函数_main中引用 我以前从来没有犯过这样的错误,所以我甚至不知道它告
#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;
}
#包括
#包括
使用名称空间std;
内部强度,长度;
空隙长度(双倍稠度、双倍长度);
双转换(双混合,双长度);
空隙输出(双稠度、双长度);
int main()
{
长度(长度、长度);
conv(长度、长度);
输出(长度、长度);
getche();
返回0;
}
空隙长度(双倍长度、双倍长度)
{
coutbLength>>sLength;
返回;
}
双转换(双混合,双长度)
{
稠度=稠度*2.54;
sLength=sLength*.3048;
返浆;
返回长度;
}
无效输出(双混合,双长度)
{
cout您的函数定义和声明不匹配
double convert(double bLength, double sLength);
你就这样实现了它
double conv(double bLength, double sLength)
{
//code runs here
}
注意函数名的不同。你的函数convert
定义在哪里?我只能看到它的声明。哇,谢谢。我讨厌忽视这样的事情。我现在觉得这是浪费大家的时间。再次感谢你。尽管我刚刚意识到我的convert函数没有将正确的值返回到输出中函数。这可能是因为您正在向接受double
值的函数发送整数。将其发送double
值。我以为我正在发送双值。此外,我修复了该函数,但它没有被正确使用。函数不接受值有什么原因吗?声明bLength
和sLength
变量为double
,而不是int
。根据函数的性质,它们应为double而不是int。