[Error] cannot convert 'bool*' to 'bool**' for argument '1' to 'void Act(bool**, int)' 是什么意思?
时间: 2023-12-24 13:05:10 浏览: 244
无法从 int? 转换为 int 运行时出现错误
"[Error] cannot convert 'bool*' to 'bool**' for argument '1' to 'void Act(bool**, int)'" 这个错误提示意味着在函数调用中,你传递了一个 `bool*` 类型的参数,但函数期望接受一个 `bool**` 类型的参数。
这个错误通常是由于函数声明和函数调用之间的类型不匹配导致的。在函数声明中,参数的类型被声明为 `bool**`,表示一个指向指针的指针。但在函数调用时,你传递了一个 `bool*` 类型的参数,表示一个指向 `bool` 的指针。
要解决这个错误,你可以尝试以下几点:
1. 检查函数声明和函数调用之间的参数类型是否匹配。确保参数的类型和数量在声明和调用中一致。
2. 如果你传递的是一个 `bool*` 类型的指针,但函数期望接受一个 `bool**` 类型的指针,你可能需要使用取地址运算符 `&` 来获取指针的地址。
```c++
bool* ptr = ...;
Act(&ptr, ...);
```
这样可以将 `bool*` 类型的指针转换为 `bool**` 类型的指针。
3. 如果你确定函数应该接受一个 `bool*` 类型的参数而不是 `bool**` 类型的参数,你需要修改函数声明来匹配调用。检查函数声明并将参数类型更改为 `bool*`。
如果以上方法仍然无法解决问题,请提供更多的代码片段和错误上下文,以便更详细地分析和解决问题。
阅读全文