我用的时候,使用的是:
定义: const uint16_t getfun(void){int a = 1; return a };
使用: uint16_t num = getfun();
这时,会告诉你,类型限定符const,在函数返回时被忽视了。 因为你返回的是一个局部变量的值. 没有使用引用,也没有使用指针,你使用const其实没有意义的。所以编译器自动给你忽略了。
如果你把Num定义成变量,然后返回它的引用,加const,就有效果,不会报错了。就是这样的。试验也成功了。
警告: 类型限定符在函数返回类型时被忽视, 如果返回const类型, 即会出现这种警告,删除const, 即可;
如:
本文探讨了在C/C++中使用const限定符作为函数返回值的问题,解释了为何编译器会忽略const限定符,并提供了正确的使用示例。
4772

被折叠的 条评论
为什么被折叠?



