我正在尝试创建一个包含计算属性的简单 Swift 扩展。我不明白为什么会出现此编译错误(“声明仅在文件范围内有效”)。错误出现在“私有扩展 OpStack”行的开头。(此代码包含在一个类中。)
如果我删除扩展中的所有代码,我仍然会得到同样的错误。
这是代码:
private typealias OpStack = Array<Op>
private extension OpStack {
//^ error:"This declaration is only valid at file scope"
var topIsOperation: Bool {
if self.isEmpty { return false }
switch self[self.count-1] {
case .Operand:
return false
default:
return true
}
}
}