对我声明的函数的未定义引用

时间:2016-11-09 21:34:51

标签: c

我编译代码时遇到这些错误,而且我不确定如何修复它们。

main.c:(.text+0x51): undefined reference to 'kToM'
main.c:(.text+0x69): undefined reference to 'kToM'
collect2: error: ld returned 1 exit status

我的代码:

#include <stdio.h>

int kToM (int, float);
int mToK (int, float);

int main(void)
{
     int kilometers;
     float conversion = 1.609344;
     int miles;

     printf("Kilometers per hour converted to miles per hour:/n");
     printf("Kph/tMph/n");
     for(kilometers = 185; kilometers >= 0; kilometers - 5)
     {
         miles = kToM(kilometers, conversion);
         kToM(kilometers,conversion);
         {
             miles = kilometers / conversion;
             return miles;
         }
         printf("%f/t%f", kilometers, miles);
    }
}

1 个答案:

答案 0 :(得分:2)

以下是您需要重写代码的方法:

#include <stdio.h>

int kToM (int, float);
int mToK (int, float);

int main(void)
{
    /* main function here */
}

int kToM(int foo, float bar)
{
    /* kToM function here */
}

int mToK(int foo, float bar)
{
    /* mToK function here */
}

您应该在kToM之外定义mToKmain的功能。