以下代碼給出了關于“不夠通用”的編譯錯誤。怎么了?
type SameLenVectors<'T when 'T: (static member ( ): 'T * 'T -> 'T) and 'T: (static member (*): 'T * 'T -> 'T)> =
private SameLenVectors of 'T list list
member this.Item = 1
uj5u.com熱心網友回復:
'T是靜態決議型別引數(SRTP),因此必須在呼叫站點行內:
member inline this.Item = 1
這有點令人困惑,因為您已將型別引數宣告為'T而不是^T,但它仍然是一個 SRTP(編譯器錯誤證明了這一點)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/480198.html
