2017-04-08 2129 views
0
#include<iostream> 
using namespace std; 
double convert(int knots) 
{ 
    double mile; 
    mile = knots * 6076/5280/60; 
    return mile; 
} 

我是C++的新手,我正在写一个非常简单的函数,将结(int)转换为每分钟英里数(double)。我写了上面的函数,我得到了以下错误。“collect2:错误:ld返回1退出状态。” - 如何解决它?

collect2: error: ld returned 1 exit status 

有人可以帮我解决吗?

+1

你如何编译它?什么是编译命令?你正在尝试构建一个可执行文件吗? –

+0

该行之前没有任何输出吗? – aschepler

回答

1

你可能在该行之前有其他错误消息:

undefined reference to `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
并且记住关联规则,表达式从左向右分解,所以您只需要在多分割/乘法表达式中明确地投射第一个(或第二个)操作数。

+0

*“为了用C++编译,你需要声明主函数。”*不!你可以编译任何C++源文件。 'main'不需要编译C++代码。 –

+0

@AlexLop。你是toltaly rigth,编辑! – Rama

相关问题