Avatar
omochimetaru 5/19/2017 7:32 AM
a
7:32 AM
たるのんのいうとおりだ
7:32 AM
バグだ
7:32 AM
クラッシュした
7:32 AM
class Animal { init(x: Int) { } static func bb() -> Self { return .init(x: 3) } } class Cat : Animal { var name: String = "cat dayo" } func useCat(cat: Cat) { print(cat.name) } func main() { useCat(cat: Cat.bb()) } main()
7:32 AM
useCatは静的にCatの式になってて、cat.nameでプロパティアクセスさせてるけど
7:32 AM
Cat.bb()がCatを返すという静的な扱いなのに、実際にはAnimalを返してる関係で吹っ飛ぶ
7:34 AM
@rintaro このようにちょっと追記したら吹っ飛びました class Dog : Animal { var name: String = "I am pochi" init(x: Int) { super.init() } func bowow() { print(name) } } (edited)