0

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

这曾经有效:

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

但现在我在第二行得到一个编译错误:

error: initializer element is not a compile-time constant

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

谢谢!

4

1 回答 1

2

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

RenderScript 编译器必须对此变得更加严格。这段代码不应该编译(事实上,不使用常规 C99 编译器编译)。

于 2011-10-27T14:48:16.460 回答