[Error] invalid type argument of unary '*' (have 'int')
时间: 2023-12-31 18:04:45 浏览: 128
这个错误通常是因为你在使用解引用运算符(*)时,将其应用于一个不是指针类型的变量上。解引用运算符用于访问指针所指向的内存地址上的值。
根据你提供的错误信息,错误发生在对一个整数类型变量使用了解引用运算符。但是,解引用运算符只能应用于指针类型的变量。
要解决这个问题,你需要确保在使用解引用运算符之前,将其应用于指针类型的变量。例如,如果你想访问一个指针所指向的值,你可以这样做:
```cpp
int* ptr; // 声明一个指向整数类型的指针
int value = *ptr; // 使用解引用运算符获取指针所指向的值
```
请检查你的代码,确保你正在正确地使用解引用运算符,并将其应用于指针类型的变量。
相关问题
error: invalid type argument of unary '*' (have 'double') 17 | int s=P*r*r; | ^~
这个错误通常出现在尝试对不是指针的变量进行取值操作时。在这个错误信息中,出现了"invalid type argument of unary '*' (have 'double')",说明在程序的第17行中,尝试对一个double类型的变量进行取值操作,而这是不合法的。
在这个具体的代码行中,似乎是对一个double类型的变量r进行了取值操作。需要注意的是,取值操作(*)在C/C++中通常用于指针类型变量,而对于普通的数据类型(如double、int等)是不需要使用取值操作的。因此,可以尝试删除这个错误行中的"*"符号,将代码修改为"int s = P * r * r;",即可解决这个错误。
33 22 C:\Users\86139\Desktop\3.7.2..c [Error] invalid type argument of unary '*' (have 'int')根据上述错误修改程序
根据错误信息,这个错误可能出现在使用了一个指针类型不匹配的地方,导致不能正确地使用 `*` 运算符。根据代码和错误信息,我们可以猜测是在对 `int` 类型的变量使用了 `*` 运算符,所以需要检查一下程序中是否有这样的代码。
根据程序中的变量和文件路径名,我们可以猜测错误可能出现在 `3.7.2..c` 文件中的某一行代码中。请注意文件路径名中的双点号,可能是一个笔误,也可能是有意为之,需要根据实际情况来判断。
针对这个错误,我们可以进行以下几个步骤来修复:
1. 首先找到出现错误的行数,并检查该行代码中是否有对 `int` 类型变量使用了 `*` 运算符的地方。
2. 如果有,需要找到正确的变量类型或运算符来替代 `*` 运算符。
3. 如果没有,需要进一步分析错误信息,找到错误出现的根本原因。
由于我无法得知具体哪一行代码出现了错误,也无法知道程序中是否真的有对 `int` 类型变量使用了 `*` 运算符,因此无法给出更具体的建议。如果您能提供更多信息,我可以帮助您进一步分析和修复错误。