ジェネリックコレクションを受け入れる関数があります。私はTとしてData
でこの関数を呼び出したいジェネリックコレクションを受け入れる関数にデータを渡す
func foo<T: BidirectionalCollection>(_ bar: T)
where T.Iterator.Element == UInt8,
T.SubSequence: BidirectionalCollection & RangeReplaceableCollection,
T.SubSequence.Iterator.Element == UInt8,
T.SubSequence.Index == T.Index,
T.SubSequence.SubSequence == T.SubSequence
{
//
}
:
foo(Data())
をただし、これはエラーを与える:
error: generic parameter 'T' could not be inferred
ここで何が起こっていますか? Data
インスタンスで関数を正しく呼び出すにはどうすればよいですか?
私は '[UINT8]'の代わりに 'Data'のを渡す場合、それは動作します。それはどう違うの? – Etan