![](/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.