c语言中未定义的作用,C错误:未定义对函数的引用,但已定义

只是一个简单的程序,但我不断收到此编译器错误。 我正在使用MinGW进行编译。

这是头文件point.h:

//type for a Cartesian point

typedef struct {

double x;

double y;

} Point;

Point create(double x, double y);

Point midpoint(Point p, Point q);

这是point.c:

//This is the implementation of the point type

#include "point.h"

int main() {

return 0;

}

Point create(double x, double y) {

Point p;

p.x = x;

p.y = y;

return p;

}

Point midpoint(Point p, Point q) {

Point mid;

mid.x = (p.x + q.x) / 2;

mid.y = (p.y + q.y) / 2;

return mid;

}

这就是编译器问题的出处。我不断得到:

testpoint.c:对'create(double x,double y)'的未定义引用

虽然它在point.c中定义。

这是一个单独的文件,称为testpoint.c:

#include "point.h"

#include

#include

int main() {

double x = 1;

double y = 1;

Point p = create(x, y);

assert(p.x == 1);

return 0;

}

我对这个问题可能不知所措。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值