C:\Users\86188\Desktop\myDrawingDemo\widget.cpp:52: error: invalid use of member (did you forget the '&' ?) x &= 20; ^
时间: 2023-12-12 22:57:40 浏览: 37
这个错误提示是因为你对一个类成员变量进行了按位与(&)运算,但是没有使用取地址符号(&)。
如果你想对一个类成员变量进行按位与运算,应该这样写:
```
x_ &= 20;
```
其中,x_是类成员变量的名称。
如果你仍然想对x进行按位与运算,可以使用取地址符号(&):
```
x &= 20;
```
但是请注意,这样做会修改x的值,而不是类成员变量x_的值。
相关问题
C:\Users\86188\Desktop\myDrawingDemo\widget.cpp:52: error: invalid use of member (did you forget the '&' ?) x+=20; ^
这个错误提示是因为你在访问一个对象的成员变量时,没有使用该对象的引用或指针,而是直接使用了成员变量名。你需要在访问成员变量时加上对象的引用或指针,例如:
```cpp
obj.x += 20; // obj 是对象
```
或者:
```cpp
ptr->x += 20; // ptr 是对象指针
```
或者:
```cpp
ref.x += 20; // ref 是对象引用
```
请检查一下你的代码,确认是否有这样的错误。
报错内容为16 17 C:\Users\FEI\OneDrive\Desktop\code.cpp [Error] invalid use of member (did you forget the '&' ?)
这个报错提示"invalid use of member (did you forget the '&' ?)"通常发生在试图对对象成员变量或函数进行操作,但是忘记在其前面加上取地址符 `&` 的情况下。例如,如果你有一个函数指针,并想通过它调用某个对象的成员函数,你应该使用 `(*ptr)()` 而不是 `ptr()`。
假设你在下面的代码片段中看到了这样的错误:
```cpp
MyClass obj;
MyClass::myFunction ptr = &obj.myFunction; // 正确的赋值
// 错误的使用
ptr(); // 这里需要加 &
(*ptr)(); // 或者这样调用
```
或者是你试图修改一个非引用的对象成员:
```cpp
int value = 10;
value++; // 正确的使用,无需加 &
const MyClass& myObj = ...; // 如果是引用
myObj.myMember = 5; // 错误,需要加 &
```
在上述情况下,你需要确保在使用成员操作符 `.` 或 `->` 前面加上 `&` 或 `->` 来获得成员的内存地址,以便进行修改或调用。
阅读全文