我設置的結構內部的不斷calculationError PendingBinaryOperation 我創建類型PendingBinaryOperation 的變量pendingBinaryOperation我得到錯誤的情況下聲明calculationError是一個懸而未決標識符。代碼部分如下。我得到一個懸而未決的標識符,即使我有一個讓該變量
mutating func performOperation(_ symbol:String){
if let currentOperation = operations[symbol] {
switch currentOperation {
case .nullOperation(let function, let nullDiscription):
accumulator = (function(), nullDiscription, nil)
case .constant(let value):
accumulator = (value,symbol, nil)
case .unaryOperation(let function, let unaryDescription, let unaryMemory):
if accumulator != nil {
accumulator = (function(accumulator!.digit), unaryDescription(accumulator!.description),
unaryMemory(accumulator!.digit))
}
case .binaryOperation(let binaryFunction,
let binaryDescription,
let binaryError):
if accumulator != nil {
doAPendingBinaryOperation()
resultIsPending = true
pendingBinaryOperation = PendingBinaryOperation(
mathFunction: binaryFunction,
calculationDescription:binaryDescription,
firstOperand: accumulator!.digit,
descriptionOperand:(accumulator?.description)!,
THIS LINE GIVES THE ERROR ->binaryError: calculationError)
accumulator = nil
}
case .equals:
doAPendingBinaryOperation()
resultIsPending = false
}
}
}
private var pendingBinaryOperation:PendingBinaryOperation?
struct PendingBinaryOperation {
let calculationError: (Double, Double) -> String
let mathFunction: (Double, Double) -> Double
let calculationDescription: (String, String) -> String
let firstOperand: (Double)
let descriptionOperand:(String)
func perform(with secondOperand:(Double)) -> Double {
return (mathFunction(firstOperand, secondOperand))
}
func performDecription(with secondOperan:(String)) -> String {
return (calculationDescription(descriptionOperand, secondOperan))
}
}
我複製/粘貼代碼到操場,幾乎每行被標記爲錯誤。你能發佈只會產生你遇到問題的錯誤的代碼嗎? –