cannot convert parameter 1 from 'SqQueue *' to 'SqQueue &' A reference that is not to 'const' cannot be bound to a non-lvalue
时间: 2024-05-16 09:14:24 浏览: 129
sqqueue1.cpp
这个错误提示是因为你在传参时出现了问题。可能是因为你的函数定义是使用引用类型的参数,而你在实际调用函数时却传入了一个指针类型的参数。
如果你的函数定义是使用引用类型的参数,那么在调用函数时应该传入一个引用类型的参数,而不是指针类型的参数。你可以通过在传参时在指针前加上“&”符号来将指针类型的参数转换为引用类型的参数。
例如,如果你的函数定义如下:
```
void myFunction(SqQueue& queue) {
// do something with the queue
}
```
那么在调用函数时应该这样写:
```
SqQueue myQueue;
myFunction(myQueue); // 传入一个 SqQueue 类型的引用参数
```
如果你一定要使用指针类型的参数,那么在函数定义时应该将参数类型改为指针类型,并在函数内部使用指针操作符“->”来访问参数指针所指向的对象。例如:
```
void myFunction(SqQueue* queue) {
// do something with the queue
queue->push(1); // 使用指针操作符来访问队列对象
}
```
在调用函数时应该这样写:
```
SqQueue myQueue;
myFunction(&myQueue); // 传入一个 SqQueue 类型的指针参数
```
阅读全文