invalid conversion from void to lstack
时间: 2024-06-03 19:07:17 浏览: 152
As an AI language model, I do not have enough context to understand the specific code you are referring to. However, generally speaking, this error message indicates that there is an attempt to convert a `void` type to an `lstack` type and it is not allowed. This could happen if a function is returning `void` instead of `lstack` or if a variable is declared as `void` instead of `lstack`.
To fix this error, you should check the code to ensure that all functions and variables are declared with the correct data types. You may also need to modify the code to properly initialize and use the `lstack` type.
相关问题
[Error] invalid conversion from void* to char** [-fpermissive]
这个错误通常是因为你在进行指针类型转换时,将一个void指针转换成char类型指针的时候出现的。由于void指针可以指向任何类型的内存地址,而char类型指针只能指向字符类型的内存地址,所以这样的转换是不安全的。
要解决这个问题,你可以尝试使用正确的类型进行指针转换,或者使用C++中的reinterpret_cast来进行类型转换。另外,你也可以检查一下你的代码,看看是否存在其他类型转换错误。
pthread_create invalid conversion from int to void*
这个问题可能是因为 `pthread_create` 函数的第三个参数需要传入一个 `void*` 类型的指针,但是你传入了一个 `int` 类型的值。
解决方法是将 `int` 类型的值转换成 `void*` 类型,然后再传入函数中。可以使用 C 语言中的类型转换操作符 `(void*)`,如下所示:
```
int arg = 123;
pthread_create(&thread_id, NULL, my_thread_function, (void*)arg);
```
在线程函数中,需要将参数再转换回 `int` 类型,如下所示:
```
void* my_thread_function(void* arg) {
int my_arg = (int)arg;
// do something with my_arg
}
```
注意,这种方法只适用于传递简单类型的参数,如果需要传递复杂的数据结构,建议使用指针。
阅读全文