完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
typedef struct
{ float kp; float ki; float kd; }camera_pid; camera_pid pos_pid; 对于上述的结构体,接下来写 pos_pid.kp = 1.0; 系统一直提示:unkown type name of 'pos_pid' 但我接下来在一个函数中定义却没有问题,比如: void fun (void) { pos_pid.kp = 1.0; } 却不会报错,不知道什么原因,请教下大家 |
|
相关推荐
12个回答
|
|
你的结构体定义在哪里定义的?
|
|
|
|
typedef struct { float kp; float ki; float kd; }camera_pid; struct camera_pid pos_pid; 这个样子就行了。 -------------------------例如: struct stuff{ char job[20]; int age; float height; }; struct stuff Huqinwei; |
|
|
|
|
|
|
|
呵呵,楼主!你直接在函数外赋值吗??pos_pid.kp = 1.0;
函数外部不能赋值吧!!要不就在定义的时候初始化,比如camera_pid pos_pid={0,0,0}; |
|
|
|
|
|
|
|
|
|
|
|
我还是没明白你这是什么意思!你说的接下来写:pos_pid.kp = 1.0;是写在申明后面吗?如果是在后面那怎么不报错呢?这是一条语句!不是申明也不是定义怎么能放在{}外面?
|
|
|
|
初始化结构体变量应该是struct camera_pid pos_pid;你少了struct
|
|
|
|
他前面定义了类型,后面定义数据就可以不用struct |
|
|
|
如果不是语法问题,应该在h 文件没有添加!
|
|
|
|
看错了 结构体在函数体外不能赋值 的 你百度一下就知道了,基本类型变量是可以的.
|
|
|
|
安富莱的开发板有好像有这方面的,你去他们网站看下
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
881 浏览 0 评论
国产NSI1300D05-DSWVR放大芯片放大增益8.2或41的问题
895 浏览 0 评论
STM32串口接受中断使用C++STL中的queue导致所有中断失效
8670 浏览 1 评论
3394 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1379 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-24 08:46 , Processed in 0.846411 second(s), Total 62, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191