c - 对我声明的函数的 undefined reference

标签 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);
    }
}

最佳答案

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

#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 */
}

您应该在 main 之外定义 kToMmToK 的函数。

关于c - 对我声明的函数的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516412/

相关文章:

c - 指针如何与 C 中的双向链表一起工作?

c - LC-2K 中使用指令 add 和nor 进行位移位

c - 文件读写C

c - 如何在 Linux 中的进程之间交换二进制数据

c - 为什么 fputs() 只在文件中添加一个单词?

c++ - 使用混合 C/C++ header 在 C 中使用 C++ 对象

c - 如何设计一个 IF 语句来仅打印目录中特定类型的文件? (正文中有更多解释)

c - 在接收消息时继续使用 select() 计算超时?

c - Linux 上使用 fpu_control.h 的 double

c - 如果同一工作区中的两个独立源文件共享函数名称,为什么 C 无法编译?