c++ “收集2:错误:ld返回了1个退出状态,”-我如何修复它?

roqulrg3  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(123)

考虑:

#include <iostream>
using namespace std;

double convert(int knots)
{
    double mile;
    mile = knots * 6076 / 5280 / 60;
    return mile;
}

我是C++的新手,我正在编写一个非常简单的函数,将knots(int)转换为英里每分钟(double)。

collect2: error: ld returned 1 exit status

我该怎么修呢?

deyfvvtc

deyfvvtc1#

该行之前可能还有另一条错误消息:
未定义对“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;
}

注意:要使用operator/版本,至少需要一个值显式转换为double。请参见 * Why does dividing two int not yield the right value when assigned to double? *。

请记住结合性规则,表达式是从左到右解析的,因此在多除法/乘法表达式中,只需要显式地转换第一个(或第二个)操作数。

相关问题