我在Swift中实现了一个链表,链表是一个结构。为了轻松获得列表的大小,我有一个Int
类型的私有属性“大小”。显然它被声明为var
。但是,当我想增加/减小尺寸时,++size
和size++
以及size += 1
都不起作用 - 我总是得到同样的错误:“一元运算符...无法应用于类型'Int'的操作数。顺便说一下,我正在使用Xcode 6.3.1和Swift 1.2。 Swift文件是Cocoa Touch Framework的一部分。
感谢任何帮助!
这是完整的代码:
private class ListElement<T> {
private let element: T!
private var next: ListElement<T>!
init(element: T?) {
self.element = element
}
init(element: T, next: ListElement<T>) {
self.element = element
self.next = next
}
}
public struct DSList<T> {
typealias Type = T
//properties
private let sentinel = ListElement<T>(element: nil)
private var size: Int = 0
//computed properties
var count: Int {
return size
}
//initializers
public init(items: Type...) {
sentinel.next = sentinel
for item in items {
self.prepend(item)
}
}
//add items
public func prepend(item: Type) {
sentinel.next = ListElement<T>(element: item, next: sentinel.next)
//size++ doesn't work
}