invalid conversion from ‘void*’ to ‘ifinfomsg*的报错原因是啥
时间: 2024-06-11 16:08:51 浏览: 139
这个报错意味着您正在尝试将一个void指针转换为ifinfomsg指针,但是这是不允许的。void指针是一种通用的指针类型,可以指向任何类型的数据,而ifinfomsg指针是指向特定类型的指针。
这可能会是以下几种情况导致的:
1. 您没有正确地声明或初始化ifinfomsg指针,导致对该指针进行无效的转换。
2. 您正在尝试将一个不兼容的指针类型转换为ifinfomsg指针,这可能是由于类型不匹配或指针类型不正确导致的。
3. 您的代码可能存在类型转换错误或内存访问错误,导致无效的指针转换。
为了解决此问题,您需要确保ifinfomsg指针类型正确声明和初始化,并且在使用指针时注意类型转换和指针访问的正确性。
相关问题
[Error] invalid conversion from void* to char** [-fpermissive]
这个错误通常是因为你在进行指针类型转换时,将一个void指针转换成char类型指针的时候出现的。由于void指针可以指向任何类型的内存地址,而char类型指针只能指向字符类型的内存地址,所以这样的转换是不安全的。
要解决这个问题,你可以尝试使用正确的类型进行指针转换,或者使用C++中的reinterpret_cast来进行类型转换。另外,你也可以检查一下你的代码,看看是否存在其他类型转换错误。
invalid conversion from ‘void*’ to ‘ifinfomsg*’ [-fpermissive]
This error occurs when you try to convert a void pointer to a pointer of a specific type, but the types are not compatible. In this case, you are trying to convert a void pointer to an ifinfomsg pointer, but they are not compatible.
To fix this error, you can cast the void pointer to the correct type before using it. For example:
void* void_ptr;
ifinfomsg* ifinfo_ptr = static_cast<ifinfomsg*>(void_ptr);
阅读全文