2013-03-24 54 views

回答

4

在iOS(和其他32位平臺)上,CGFloatfloat的別名。

你的文字(444563.4004)是double,促進myFloatdouble,讓您的塊double的返回類型(而不是float你說,當你宣佈debt這將是)。將字面量更改爲float(將f附加到末尾),或將其轉換爲CGFloat

+0

很好的答案。另外,令人驚歎的ascii藝術! – zakdances 2013-03-24 02:35:38

4

另一種可能的解決方案是使用一個塊有明確的返回類型:

CGFloat (^debt)(CGFloat) = ^CGFloat (CGFloat myFloat) { 
    return myFloat * 444563.4004; 
}; 

,以避免編譯器試圖「猜測」從返回語句返回類型。

在「塊編程主題」比較Creating a Block

如果沒有顯式聲明塊 表達的返回值,就可以自動從 塊的內容推斷。

相關問題