: invalid operands to binary << (have 'int *' and 'int') 这个报错的原因及解决措施
时间: 2023-08-04 11:04:38 浏览: 346
Python ValueError: invalid literal for int() with base 10 实用解决方法
这个错误通常是因为在使用位运算符 "<<" 时,左侧的操作数不是一个整数类型,而是一个指向整数类型的指针。指针不能进行位运算符操作,只有整数类型才能进行这种操作。
解决这个问题的方法是,确保左侧操作数是一个整数类型,而不是指针类型。如果左侧操作数是指针类型,可以使用解引用操作符("*")来获取指针指向的值,然后再进行位运算符操作。
例如,如果有一个指向整数类型的指针变量p,想要将它左移2位,可以这样写:
```
int x = *p << 2;
```
这里先使用解引用操作符获取了指针p指向的整数值,然后将其左移2位,最后将结果赋值给变量x。
阅读全文