swift 3.02 Xcode 8.2.1上的分段错误
以下代码生成分段错误:swift 3.02 Xcode 8.2.1上的分段错误,swift,Swift,以下代码生成分段错误: extension Int { static prefix func++(i:Int)->Int{ return i+1; } static prefix func--(i:Int)->Int{ return i-1; } } infix operator <-; class DynamicList
extension Int
{
static prefix func++(i:Int)->Int{
return i+1;
}
static prefix func--(i:Int)->Int{
return i-1;
}
}
infix operator <-;
class DynamicList<T>: RangeReplaceableCollection, MutableCollection, BidirectionalCollection
{
var length:Int;
var arr:Array<T>?;
var startIndex:Int{
return 0;
}
var endIndex:Int{
return length;
}
subscript(i:Int)->T{
get{
return arr![i];
}
set{
arr![i] = newValue;
}
}
func index(after i: Int) -> Int{
return ++i;
}
func index(before i: Int) -> Int{
return --i;
}
required init(){
length = 0;
}
static func <- (left: inout DynamicList<T>, right: DynamicList<T>){
}
/* func replaceSubrange<C>(_ subrange: Range<Self.Index>, with newElements: C) where C : Collection,
C.Iterator.Element == Iterator.Element */
func replaceSubrange<C>(_ subrange: Range<DynamicList.Index>, with c: C)
where C : Collection, C.Iterator.Element == DynamicList.Iterator.Element{
}
}
extension Int
{
静态前缀func++(i:Int)->Int{
返回i+1;
}
静态前缀func--(i:Int)->Int{
返回i-1;
}
}
中缀算子T{
得到{
返回arr![i];
}
设置{
arr![i]=newValue;
}
}
func索引(在i:Int之后)->Int{
return++i;
}
func索引(在i:Int之前)->Int{
return--i;
}
必需的init(){
长度=0;
}
static func您的意思是在编译期间或运行时出现分段错误。如果是后者,请说明发生在哪里。如果是前者,您需要堆栈跟踪,并且需要向swift.org报告编译器错误。这是一个编译时错误。该代码旨在模仿同样采用所有3种协议的阵列结构。不太清楚为什么我的代码在编译时会生成分段错误11。