10 38 C:\Users\19746\Desktop\未命名2.cpp [Error] invalid conversion from 'void*' to 'bitree*' [-fpermissive]
时间: 2024-02-27 16:55:41 浏览: 19
这是一个编译器的错误信息,意思是你在代码中将`void`指针转换成了`bitree`指针,但是这种类型的转换是不被允许的。这是因为`void`指针可以指向任何类型的数据,而`bitree`指针只能指向`bitree`类型的数据。
要解决这个问题,你需要将`void`指针转换成正确的指针类型,比如:
```cpp
void* ptr = get_bitree_pointer();
bitree* tree = static_cast<bitree*>(ptr);
```
这里使用了`static_cast`运算符将`void`指针转换成`bitree`指针。当然,在进行这种类型的转换时,你需要确保`void`指针指向的实际上是`bitree`类型的数据。
相关问题
[Error] invalid conversion from 'void*' to 'Tree*' [-fpermissive]
这个错误通常是因为在代码中进行了指针类型的转换,但是转换的类型不匹配导致的。在 C++ 中,void* 指针可以指向任何类型的内存地址,但是在使用时需要进行强制类型转换才能访问其中存储的数据。
例如,如果你有一个 void* 类型的指针,指向一个 Tree 类型的对象,你需要将它转换为 Tree* 类型才能调用 Tree 类的成员函数。如果转换时类型不匹配,则会出现上述错误。
解决方法是检查代码中的指针类型转换,确保转换的类型正确匹配。如果不确定如何正确转换,请参考 C++ 中的类型转换规则。
81 10 C:\Users\86152\Documents\c语言(1)\通讯录.cpp [Error] invalid conversion from 'const char*' to 'char' [-fpermissive]
这个错误是因为在你的代码中,将一个 `const char*` 类型的值直接赋给了一个 `char` 类型的变量,这是不允许的。
可能是你在代码中有类似于以下的代码:
```cpp
const char* str = "Hello world!";
char c = str;
```
这里将一个字符串常量 `str` 直接赋值给了一个 `char` 类型的变量 `c`,这是不正确的。如果你想要获取字符串中的某个字符,应该使用下标访问:
```cpp
const char* str = "Hello world!";
char c = str[0]; // 获取字符串中第一个字符 'H'
```
或者,你可以将 `str` 转换为 `char` 类型:
```cpp
const char* str = "Hello world!";
char c = *str; // 获取字符串中第一个字符 'H'
```
希望这可以帮助你解决问题。