我想調用if語句中的函數,但總是收到錯誤消息「無法轉換類型'Int.Type'的值預期參數類型「內部」。我在做什麼錯?無法將'Int.Type'類型的值轉換爲預期的參數類型'Int'
func isLeapYear(year: Int) -> Bool {
if year % 4 != 0{
return false
}
else if year % 100 != 0{
return true
}
else if year % 400 != 0{
return false
}
else{
return true
}
}
func nextDay(year: Int, month: Int, day: Int) -> (year: Int, month: Int, day: Int) {
if isLeapYear(year: Int) == true {
if day < daysOfMonths_leap[month-1] {
return (year, month, day + 1)
}else {
if month == 12 {
return (year + 1, 1, 1)
} else {
return (year, month + 1, 1)
}
}
}
}
您可能需要閱讀[ 「定義和調用功能」(https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Functions .html#// apple_ref/doc/uid/TP40014097-CH10-ID159)再次...'isLeapYear(year:Int)'是*不*你如何調用給定年份的函數。 –
您必須將實際值作爲參數傳遞而不是類型。請嘗試... if isLeapYear(year:year)== true – slashburn
爲什麼重新發明輪子?類「Calender」和「DateComponents」提供各種日期數學。 – vadian