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

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

问题遇到的现象和发生背景 用结构变量做函数参数出错。电脑用的国产机,操作系统是银河麒麟,应该是基于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#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。