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++不允许

原文地址:https://www.cnblogs.com/lightice/p/12738296.html