#include<iostream>
using namespace std;
double convert(int knots)
{
double mile;
mile = knots * 6076 / 5280 / 60;
return mile;
}
我是C ++的新手,我正在编写一个非常简单的函数,将结(int
)转换为每分钟英里数(double
)。我写了上面的函数,我得到了以下错误。
collect2: error: ld returned 1 exit status
有人可以帮我解决吗?
答案 0 :(得分:1)
在该行之前可能还有其他错误消息:
对'main'的未定义引用
为了用c ++构建可执行程序,你需要声明main
函数。
这是你的程序的主要入口点,试试这个:
#include<iostream>
using namespace std;
double convert(int knots)
{
double mile;
mile = double(knots) * 6076 / 5280 / 60;
return mile;
}
int main(void) {
double miles = convert(10); //use convert function
cout << "Miles: " << miles << endl; //print result
return 0;
}
注意:您需要至少将一个值显式转换为double
才能使用该operator/
版本。见Why can't I return a double from two ints being divided
并且记住关联性规则,表达式从左到右解析,因此您只需要在多重除法/乘法表达式中显式地转换第一个(或第二个)操作数。