2016-02-05 33 views
0

我最近簽出了Surge框架here的新副本。我成功地將它添加到我們的Xcode項目中,但是我收到以下編譯錯誤。二元運算符' - '不能應用於兩個'[Float]'操作數 - Surge.framework

Binary operator '-' cannot be applied to two '[Float]' operands

我又試圖將它導入到一個新的乾淨的XCode項目,我仍然得到同樣的錯誤。有沒有人看過這個錯誤,並知道修復?或者這是框架本身的問題。

+0

顯然,這是[最近提交](https://github.com/mattt/Surge/commit/f40b3c6a9941dfbc18f4f3bbcdd8a808b0d17286)到Surge庫的監督,你已經[已經](https://github.com)/rprechelt /浪涌/提交/ 5f1e87f3ebb7f5df134d055a95a589bd1c18e709)。 –

回答

0

已解答:原來這是對框架的最新承諾的疏忽,並不是我錯過了一些明顯的東西。

+0

如果您的問題解決了,請不要忘記將您的問題標記爲已回答。 – Ermiar

0

你不能在數組上使用二元運算符,這就是你所擁有的。你可以說因爲「浮動」被括號包圍。您只能對單個值使用二元運算符。

var myArray = [Float]() //An array(note the brackets) 

myArray.append(15) //myArray now contains one value(15), but you still can't use binary operators on it because its an array. 
print(myArray + myArray) //Error 
print(myArray[0] + myArray[0]) //prints 30, using this syntax "myArray[0]" represents the first object in the array, 30 in this case. 

長話短說,切換到非陣列浮動,如果你不需要一個陣列,或直接訪問,以使用二進制運算符你對它們的排列在你需要的產品。

+0

感謝您的幫助;但這不完全是我的問題。我知道傳統上在陣列上不能使用二元運算符,但Surge框架使用Accelerate框架爲[Float]和[Double]重載二元運算符。考慮到這個庫是非常發達的(請參閱我的文章中的鏈接),我擔心我的XCode配置的某些元素導致此錯誤(因爲'+',' - ','*'和'/'全部在陣列上工作) –

相關問題