多线程报错invalid conversion from ‘void* (*)(void*)’ to 'void* (*)(void*)' [-fpermissive]的原因
时间: 2023-11-22 20:05:11 浏览: 208
多线程中出现的问题
4星 · 用户满意度95%
这个错误通常是由于函数指针类型不匹配导致的。
在多线程编程中,线程函数的类型必须是void* (*)(void*),即返回值为void*,参数为void*的函数指针类型。如果你的函数指针类型不匹配,就会出现上述错误。
例如,如果你的线程函数的类型是void (*)(int),即返回值为void,参数为int的函数指针类型,那么在创建线程时就会出现上述错误。
解决方法是确保你的线程函数的类型与要求的类型匹配。如果你的线程函数的类型不匹配,可以使用强制类型转换来转换函数指针类型。但是要注意,这样做可能会导致不可预知的行为,因此请谨慎使用。
阅读全文