Android Renderscript 3.2比3.1更严格吗?

时间:2011-08-06 18:34:03

标签: android renderscript

我将Eclipse Android SDK更新到版本3.2,现在我遇到了常量的编译错误。

这曾经有用:

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

但是现在我在第二行遇到了编译错误:

error: initializer element is not a compile-time constant

这是故意改变吗?或者我的环境可能有问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

RenderScript是C99,而不是C ++。 C99要求所有静态初始化都是常量表达式(整数常量,浮点常量,枚举常量,字符 常量和sizeof表达式。)

RenderScript编译器必须对此更加严格。这段代码永远不应该编译(实际上,不能用常规的C99编译器编译)。