簡體   English   中英

快速錯誤類型“ T”不符合協議“ IntegerLiteralConvertible”

[英]Swift error Type 'T' does not conform to protocol 'IntegerLiteralConvertible'

我想通過以下代碼片段將數字分解為其主要因子,但我不完全理解給定的錯誤消息(請參見上面的標題)。 首先,我嘗試使用字典,但是我堅持按鍵對字典進行排序。 其次,我嘗試了元組版本,但現在我陷入了編譯器錯誤。

有人可以在下面的代碼片段的最后一行看到什么地方出問題嗎?

var pfc : [(prime: Int, count: Int)] = []
pfc.append(prime: 2, count: 2)
pfc += [(prime: 3, count: 4)]
var p = 5, c = 1
pfc.append(prime: p, count: c)

在堆棧溢出中,可以找到有關String.Index的類似問題,但是答案還不足以為我提供線索。 因此,非常感謝您的幫助,在此先感謝您!

這是非常有趣的,就像Nate提到的那樣似乎很麻煩。 我可以通過一些不同的語法解決它。

var pfc : [(prime: Int, count: Int)] = []

pfc.append(prime: 2, count: 2)

pfc += [(prime: 3, count: 4)]

var p = 5
var c = 1

var tuple = (prime: p, count: c)

pfc += [tuple]

pfc

我認為您應該將元組放在兩組括號中,而不是一組。

var pfc : [(prime: Int, count: Int)] = []
pfc.append((prime: 2, count: 2))
pfc += [(prime: 3, count: 4)]
var p = 5, c = 1
pfc.append((prime: p, count: c))

我認為編譯器認為您想調用一個名為Array.append(prime: Int, count: Int)方法,但是找不到Array類型的方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM