c++報錯問題解決方案lvalue required as left operand of assignment

  • A+
所屬分類:百科知識

這篇文章主要介紹了c++報錯:lvalue?required?as?left?operand?of?assignment,出現此錯誤原因,是因為,等號左邊是不可被修改的表達式或常量,而表達式或常量不能作為左值,需要的朋友可以參考下

在編程時出現報錯:

lvalue required as left operand of assignment

出現此錯誤原因,是因為,等號左邊是不可被修改的表達式或常量。而表達式或常量不能作為左值。歸根結底類似于

3=b;

這種錯誤。
而查看代碼發現,是判斷出了問題

1
2
3
if(!strA.compare(strB)&&!strC.compare(strD)&&n1=n2){
????...
}

由于n1==n2漏寫一個等于號,造成括號內由判斷條件變成了賦值語句:左值=n2。而由!strA.compare(strB)&&!strC.compare(strD)&&n1組成的是一個布爾值常量。顯然是不能作為左值的。

到此這篇關于c++報錯:lvalue required as left operand of assignment的文章就介紹到這了

推薦應用

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: