rabbitlpa 2022-06-30 20:24 采纳率: 50%
浏览 18
已结题

用结构变量做函数参数出错

问题遇到的现象和发生背景 用结构变量做函数参数出错。电脑用的国产机,操作系统是银河麒麟,应该是基于ubuntu做的吧。gcc版本信息是gcc (Ubuntu/Linaro 5.4.0-6kord1~16.04.12) 5.4.0 20160609
问题相关代码,请勿粘贴截图

struct Point2d
{ float x;
float y;
}Point2d;

Point2d * middlepoint(Point2d * P1,Point2d * P2);

Point2d * middlepoint(Point2d * P1,Point2d * P2)
{ Point2d * p;
p->x = (p1->x + p2->x)/2;
p->y = (p1->y + p2->y)/2;
return p;
}

运行结果及报错内容 这几行简单语句,在codeblock里无论用c还是c++编译都出错,用c编译出错信息是error: unknown type name ‘Point2d’而用cc++编译出错信息是error: ‘p1’ was not declared in this scope
我的解答思路和尝试过的方法 我没有思路和办法,因为我本来只在二十多年前学了一点皮毛,长时间没有用(一直用的是free pascal/lazarus)现在准备重新捡起来。
我想要达到的结果 下午能知道出错的原因和解决办法
  • 写回答

2条回答

  • 快乐鹦鹉 2022-06-30 20:38
    关注

    Point2d * p你只定义了指针,没有分配空间,直接p->x会崩溃的
    改为
    Point2d * p = new Point2d;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月9日
  • 已采纳回答 7月1日
  • 创建了问题 6月30日

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘