163 19 E:\AAsoft\suanfa\exp6\MGraph.cpp [Error] invalid initialization of non-const reference of type 'ALGraph*&' from an rvalue of type 'ALGraph*'
时间: 2024-02-03 07:15:50 浏览: 29
这个错误是因为你尝试将一个指向 ALGraph 对象的指针传递给一个引用参数,但是该引用参数不是 const 引用,而你传递的指针是一个 rvalue,这是不合法的。
你可以将该引用参数改为 const 引用或者将传递的指针改为一个 lvalue。
例如,将引用参数改为 const 引用:
```cpp
void foo(const ALGraph*& graph) {
// ...
}
```
或者将传递的指针改为一个 lvalue:
```cpp
ALGraph* graph = new ALGraph();
foo(graph);
```
注意:如果你选择第二种方法,需要在函数调用结束后手动释放该对象的内存。
相关问题
165 14 E:\AAsoft\suanfa\exp6\MGraph.cpp [Error] cannot convert 'ALGraph' to 'ALGraph*' for argument '1' to 'void DispAdj(ALGraph*)'
这个错误提示看起来是函数参数类型不匹配导致的。你调用了 `DispAdj` 函数,传入的参数类型是 `ALGraph`,但是函数定义中参数类型是 `ALGraph*`,两者不匹配。你需要把参数类型改成指针类型,或者在传入参数时取地址符 `&` 来将 `ALGraph` 类型的变量转换为指针类型。
示例代码:
```
// 函数定义
void DispAdj(ALGraph* G) {
// 函数实现
}
// 函数调用
ALGraph G;
DispAdj(&G); // 传入 G 的地址
```
36 6 E:\AAsoft\suanfa\exp3\exp3-4\SqQueue.cpp [Error] in passing argument 2 of 'bool EnQueue(SqQueue*&, int&)'
根据您提供的信息,看起来是在调用函数 `EnQueue` 时出现了错误。具体来说,第二个参数的类型与函数声明不匹配。可能是函数声明中该参数的类型与实际传入的参数类型不同,或者该参数的地址没有正确传递。
请检查函数 `EnQueue` 的声明和调用,确保它们的参数类型匹配,并且所有参数的地址都被正确传递。如果问题仍然存在,请提供更多的代码和错误信息,以便更好地理解问题的本质。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)