我正在爲一門課程編寫簡單語言的編譯器,並且遇到了此警告。問題中的模式匹配很簡單,所以我不明白爲什麼會彈出。這裏所討論的圖案匹配:與tcExpr簽名是def tcExpr(expr: ExprTree, expected: Type*): Type
,ExprTree
表示表達式和Type
爲對象的情況下Scala:即使默認值也無法檢查無法匹配的匹配
(tcExpr(lhs), tcExpr(rhs)) match {
case (TInt, TInt) | (TString, TString) | (TBoolean, TBoolean) | (TIntArray, TIntArray) | (TObject(_), TObject(_)) => TBoolean
case _ => TError
。除TObject()
之外的所有內容均爲簡單對象,而TObject()
將表示類的符號作爲參數。
我沒有得到的是沒有那麼多的可能性。爲什麼編譯器不能解決它?有沒有我忽視或誤解的內容?
非常感謝您的回答,
薩科
編譯器向您顯示的消息是什麼。可以放在那裏? – wheaties