expected ‘void * (*)(void *)’ but argument is of type ‘void * (*)(char **)’
时间: 2024-08-16 15:06:55 浏览: 133
Several solutions of remote transmission for state monitoring of bridges* (2005年)
这个错误信息通常出现在C语言或者C++中,涉及到函数指针类型的不匹配。`void * (*)(void *)` 表示指向函数的指针,接受一个`void*`类型的参数并返回`void*`类型。而 `void * (*)(char **)` 则表示另一个函数指针类型,它接受的是`char**`类型的参数并返回`void*`。
当你试图将一个`void * (*)(char **)` 类型的函数指针赋值给需要`void * (*)(void *)` 类型的地方,编译器会报错,因为它无法将这两种不同的函数签名匹配起来。这可能是由于你在函数声明、传递参数或者函数指针变量初始化时搞错了类型。
修复这个问题,你需要确保传递给那个位置的函数指针与预期的函数签名匹配,即要么修改函数的实际类型使其兼容,要么改变函数指针的声明或使用。如果是在函数参数传递上出错,可以考虑更改传入参数的类型。
阅读全文