invalid conversion from 'void* (*)()' to 'void* (*)(void*)' [-fpermissive]报错解决办法
invalid conversion from 'void* ()()' to 'void ()(void)' [-fpermissive]报错解决办法
今天运行了一串老师给的代码,在VSCode中运行出错了,原因是它的参数不匹配。
问题如下:
原因:
我的函数是这样的
而函数原型应该是带一个void*的参数
解决办法:
在函数定义时加入一个void *参数即可
扩展:
那么,在devc++中运行为啥不会报错呢~
参考:https://blog.csdn.net/pkueecser/article/details/13995185
在gcc编译时不会出错,但是用g++就会有问题,究其原因就是C语言编译器允许隐含性的将一个通用指针转换为任意类型的指针,而C++不允许