2011-08-06 29 views
0

我更新了我的Eclipse Android SDK到版本3.2,現在我得到常量的編譯錯誤。Android Renderscript 3.2比3.1嚴格嗎?

這用來工作:

static const X = 2; 
static const X_SQUARED = X * X; 

但現在我得到二號線編譯錯誤:

error: initializer element is not a compile-time constant 

對您有意改變?或者在我的環境中可能有錯?

謝謝!

回答

2

RenderScript是C99,而不是C++。 C99要求所有靜態初始化都是常量表達式(整數常量,浮點常量,枚舉常量,字符 常量和sizeof表達式)。

RenderScript編譯器對此必須變得更加嚴格。這段代碼從不應該編譯(事實上,不會用普通的C99編譯器編譯)。