Android Renderscript 3.2 более строгий, чем 3.1? - PullRequest
0 голосов
/ 06 августа 2011

Я обновил свой Eclipse Android SDK до версии 3.2, и теперь я получаю ошибки компиляции для констант.

Это раньше работало:

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

Но теперь я получаю ошибку компиляцииво 2-й строке:

error: initializer element is not a compile-time constant

Было ли это преднамеренным изменением?Или, возможно, что-то не так в моей среде?

Спасибо!

1 Ответ

2 голосов
/ 27 октября 2011

RenderScript - это C99, а не C ++. C99 требует, чтобы все статические инициализации были константными выражениями (целочисленные константы, плавающие константы, константы перечисления, символ константы и размер выражений).

Компилятор RenderScript, должно быть, стал более строгим в этом. Этот код никогда не должен был компилироваться (и фактически не компилируется с обычным компилятором C99).

...