C:\Users\86188\Desktop\myDrawingDemo\widget.cpp:52: error: invalid use of member (did you forget the '&' ?) x+=20; ^
时间: 2023-10-31 22:08:45 浏览: 24
这个错误提示是因为你在类的成员函数中使用了类的成员变量,但是没有使用对象的指针或者引用来访问这个成员变量。你需要在调用成员变量的时候加上对象的指针或者引用,或者在函数参数列表中加上对象的指针或者引用。
例如,如果你的成员变量是 `int x`,你需要这样来访问它:
```cpp
class MyClass {
public:
void myFunction() {
x += 20; // 错误:无效的成员变量使用
this->x += 20; // 正确:使用对象指针访问成员变量
myFunction2(&x); // 正确:将对象指针传递给函数使用
}
private:
int x;
void myFunction2(int* x) {
*x += 20;
}
};
```
你可以通过这些方法来访问类的成员变量。
相关问题
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 是对象引用
```
请检查一下你的代码,确认是否有这样的错误。
30 20 C:\Users\hp\Desktop\C++\text.cpp [Error] invalid use of member (did you forget the '&' ?)
在你提供的引用内容中,有几个错误的代码和编译错误信息。根据第一个引用,它是来自百度知道的一个问题,描述了一个`int*`类型和`int [100]`类型不兼容的赋值错误。这个问题的具体细节可以在提供的链接中找到。第二个引用是来自CSDN的一篇博客,其中提到了一个在括号前缺少标识符的错误。第三个引用是一段代码,指出了一个请求在指针类型的`o`中使用成员变量`score`的错误,并建议应该使用`(*p)->a`来解决。
根据你的问题,你提供了一个错误信息:`30 20 C:\Users\hp\Desktop\C \text.cpp [Error] invalid use of member (did you forget the '&' ?)`。根据这个错误信息,它指出在使用成员时出现了无效的使用,并提到是否忘记了`&`。然而,这个错误信息并没有提供足够的上下文,无法准确判断错误的原因。
要解决这个问题,你可以检查代码中相关行的语法和语义错误,特别是在使用成员时是否正确引用了变量。另外,你还可以检查是否遗漏了某些必要的引用或头文件。如果问题仍然存在,你可以进一步提供更多的代码和错误上下文信息,以便更准确地分析和解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [c语言常见错误合集](https://blog.csdn.net/weixin_56636204/article/details/120932394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]