![](/img/trans.png)
[英]Error: invalid operands of types 'const char [3]' and 'int*' to binary 'operator*'
[英]“error: invalid operands of types 'int' and 'const char [2]' to binary 'operator<<'|”
首先,我是一个初学者。 我曾在网上看到过类似的问题,但与我有同样的错误,但是没有一个像我的一样,因此我无法理解自己在做什么。
我应该使斐波那契序列显示出我选择的数字(作为葡萄牙语,我必须解释,“ primeiro”首先是指,“ segundo”是第二,而“ terceiro”是第三。)代码是这样的
#include <iostream>
using namespace std;
int main(){
int n;
int primeiro, segundo, terceiro;
primeiro = 1;
segundo = 1;
cout << "Insira o Valor Limite: ";
cin >> n;
cout << " " << endl;
while(terceiro < n){
cout << primeiro << " " ;
cout << segundo << " " ;
terceiro = primeiro + segundo;
cout << terceiro << " " ;
primeiro = segundo << " ";
segundo = terceiro << " " ;
cout << " " << endl;
}
return 0;
}
错误出现在以下两行中
primeiro = segundo << " ";
segundo = terceiro << " ";
就像这样
"error: invalid operands of types 'int' and 'const char [2]' to binary 'operator<<'|"
请帮忙
那么,您想在这两行中实际做什么? 在我看来,您可能需要将'primeiro'和'segundo'变量设置为新值并继续循环。 因此,不需要“ <<”运算符。 将这两行更改为
primeiro = segundo;
segundo = terceiro;
另外,您还需要将terceiro初始化为一些值...
为了使它起作用,指示的两行应为
primeiro = segundo;
segundo = terceiro;
这里的问题是<<操作符已重载。 除了是获取并返回流的运算符之外,它还是位移位运算符。 例如1 << 2;
将采用二进制表示形式1( 00000001
)并将其向左移动两位( 00000100
),使其变为4。您正在做的是,您正在尝试将整数primeiro和sedgundo左移一个字符串。导致类型错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.