C:\Users\31073\Documents\QtStudy\main.cpp:20: error: cannot take the address of an rvalue of type 'void'
时间: 2023-08-25 18:15:48 浏览: 61
这个错误通常发生在你试图获取一个无效的值的地址时。在 C++ 中,不能获取一个临时值(rvalue)的地址,因为临时值是没有实际的存储位置的。要解决这个错误,你需要检查代码中是否有尝试获取临时值的地址的情况。
请检查你的代码,特别是第20行,在那里你可能会找到尝试获取一个 void 类型值的地址的问题。你可能需要修改代码逻辑,确保你只获取有效值的地址。如果你需要进一步的帮助,请提供相关代码,我将尽力帮助你解决问题。
相关问题
QT报错:cannot take the address of an rvalue of type 'void'
这个错误通常出现在尝试获取一个无法获取地址的值的指针时。在C++中,void类型是没有实际的内存分配的,因此无法对其进行地址运算。可能的原因是您在尝试获取void类型的指针。解决方法是确保您要获取地址的值不是void类型,或者将其转换为可以获取地址的类型。如果您可以提供更多的代码和上下文,我可以更具体地帮助您解决问题。
7 24 C:\Users\Administrator\Desktop\vv.cpp [Error] lvalue required as left operand of assignment
根据你提供的错误信息,这个错误通常发生在你试图将一个右值(rvalue)赋值给左值(lvalue)的情况下。
在C++中,左值是指可以出现在赋值运算符左边的表达式,而右值是指只能出现在赋值运算符右边的表达式。通常情况下,只有变量、数组元素、结构体成员等才是左值,而字面量、表达式结果等是右值。
根据你提供的代码行,错误可能发生在 `vv.cpp` 这个文件中的第24行。请检查该行代码,并确保你在赋值运算符(`=`)的左边使用了一个左值。例如,你可能会遇到以下类似的错误:
```cpp
int x = 10;
10 = x; // 错误:10是一个右值,不能作为赋值运算符的左操作数
```
如果你仍然无法解决问题,请提供更多的代码上下文,以便我可以帮助你更好地分析和解决这个问题。