OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3619|回复: 4

c语言的问题,常量函数指针数组?不知道为什么会报错?

[复制链接]

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2019-7-1
在线时间
24 小时
发表于 2022-3-5 15:36:49 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 回来哥啦 于 2022-3-5 15:42 编辑

void CalibrateCurveHandle(void);//标定曲线处理函数
//页功能函数指针数组
const void (* PageFuction[])(void)=
{
        0,0,0,0,0,0,0,0,0,0,//0~9页
        0,0,0,0,//10~13页
        &CalibrateCurveHandle,
};

我想将这个数组放入flash,加了一个const来修饰,然后就出现警告了,
warning:  #144-D: a value of type "void (*)(void)" cannot be used to initialize an entity of type "const void (*)(void)"
这是为什么??
同样的方式我keil c51里面写没有任何警告
code void (* PageFuction[])(void)=
{
        0,0,0,0,0,0,0,0,0,0,//0~9页
        0,0,0,0,//10~13页
        &CalibrateCurveHandle,
};



警告

警告

最佳答案

查看完整内容[请看2#楼]

CalibrateCurveHandle已经初始化成void型函数了,而你后面又将它的指针赋值给一个const型数组,将一个非const型数据赋值给const型对象,这当然会报warning 想消warning很简单,将CalibrateCurveHandle也定义成const型函数就行了 实际上warning的内容已经写得很清楚了,你看懂就知道答案了,并不难理解
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
269
金钱
269
注册时间
2019-3-6
在线时间
36 小时
发表于 2022-3-5 15:36:50 | 显示全部楼层
CalibrateCurveHandle已经初始化成void型函数了,而你后面又将它的指针赋值给一个const型数组,将一个非const型数据赋值给const型对象,这当然会报warning

想消warning很简单,将CalibrateCurveHandle也定义成const型函数就行了

实际上warning的内容已经写得很清楚了,你看懂就知道答案了,并不难理解
回复

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2019-7-1
在线时间
24 小时
 楼主| 发表于 2022-3-5 15:49:56 | 显示全部楼层
void (* const  PageFuction[])(void)=
{
        0,0,0,0,0,0,0,0,0,0,//0~9页
        0,0,0,0,//10~13页
        &CalibrateCurveHandle,
};
回复

使用道具 举报

3

主题

312

帖子

0

精华

高级会员

Rank: 4

积分
907
金钱
907
注册时间
2011-10-19
在线时间
196 小时
发表于 2022-3-5 23:19:46 | 显示全部楼层
  1. void (* const PageFuction[])(void)=
  2. {
  3.         0,0,0,0,0,0,0,0,0,0,//0~9页
  4.         0,0,0,0,//10~13页
  5.         &CalibrateCurveHandle,
  6. };
复制代码
回复

使用道具 举报

11

主题

2131

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4734
金钱
4734
注册时间
2015-1-10
在线时间
591 小时
发表于 2022-3-7 11:30:56 | 显示全部楼层
编译器里面可能认为你的处理函数指针会发现变化,不满足const要求
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 02:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表