Какая Ошибка Flash Причин № 2012 (Не может инстанцировать класса)?

50! - очень большое число (более 60 цифр), а 2^64 меньше 50!. Причина, по которой вы не получаете правильное число, заключается в том, что вы получаете overflow , вы считаете выше предела того, что может вычислить ваш компьютер.

enter n 50
-3258495067890909184

Если у вас есть 64-разрядное целое число, наибольшее значение, которое оно может представлять, равно 2 ^ 64, для которого я меньше 50 !. Поэтому вы получаете переполнение.

Обычно в этих ситуациях вы прибегаете к некоторому трюку, похожим на 4-битную систему с 8-битным кодом, удваивая количество инструкций на слово (путь Intels first CPU имеет 8-битный код).

Таким образом, ваша 64-битная система может обрабатывать 128-битные слова, вам просто нужно написать алгоритм, который помещает данные в «куски», чтобы вы могли удвоить длину слова.

13
задан ketan 16 December 2015 в 05:36
поделиться

3 ответа

Я наконец понял то, что было неправильным: Класс B разделял на подклассы от DisplayObject, который я теперь вижу, абстрактный класс. Класс B не реализовал абстрактных участников, таким образом ошибка. Я, вероятно, изменю класс B для разделения на подклассы от Sprite вместо этого.

Это походит на проблему, которая должна была быть поймана компилятором. То, что это не была средняя реализация абстрактных участников, может ожидать до времени выполнения? Даже если так, было бы хорошо, по крайней мере, получить предупреждение компилятора.

Спасибо за общие ответы надо надеяться, они помогут другим, которые сталкиваются с ошибкой 2012.

21
ответ дан 1 December 2019 в 22:08
поделиться

Это обычно означает, что информация о классе не была включена в SWF.

Удостоверьтесь, что Вы импортируете класс, и что существует ссылка на него где-нибудь (таким образом, компилятор будет, включал его в SWF).

btw, вот коды ошибки периода выполнения:

http://livedocs.adobe.com/flex/201/langref/runtimeErrors.html

(не много полезной информации, хотя)

камеры микрофона

mesh@adobe.com

2
ответ дан 1 December 2019 в 22:08
поделиться

Стоит отметить, что, если Вы включаете классы, которые кто-то еще создал, и они использовали Flash CS3, и Вы используете Flex, или наоборот, что оперативные библиотеки каждого отличаются, и некоторые вещи не включены в обоих. Проверьте эти два справочных документа, чтобы быть уверенными:

CS3: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/

Flex: http://livedocs.adobe.com/flex/2/langref/

0
ответ дан 1 December 2019 в 22:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: