invalid conversion from 'void* (*)()' to 'void* (*)(void*)' [-fpermissive]报错解决办法


invalid conversion from 'void* ()()' to 'void ()(void)' [-fpermissive]报错解决办法

今天运行了一串老师给的代码,在VSCode中运行出错了,原因是它的参数不匹配。

问题如下:

1587368798101

原因:

我的函数是这样的

1587368900769

而函数原型应该是带一个void*的参数

1587369011434

解决办法:

在函数定义时加入一个void *参数即可

1587369035080

扩展:

那么,在devc++中运行为啥不会报错呢~

参考:https://blog.csdn.net/pkueecser/article/details/13995185

在gcc编译时不会出错,但是用g++就会有问题,究其原因就是C语言编译器允许隐含性的将一个通用指针转换为任意类型的指针,而C++不允许


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM