|
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
Несоответствие типов
Друзья, помогите, плиз. Столкнулся сегодня с непонятной мне проблемой.
Имею вот такие присвоения: public class ActionEntity extends EventDispatcher { protected var _recipientMiscEffects: Vector.<CUEntity> = new Vector.<CUEntity>; // Вектор прочих обновлений реципиента в формате CharacterUpdates public function execute() : void // Запуск действия { if (_contact.recipientReadyUpdates) _recipientMiscEffects.push (_contact.recipientReadyUpdates); } } public class ContactEntity { private var _recipientReadyUpdates: Vector.<CUEntity> = new Vector.<CUEntity>; // Готовые пакеты обновлений для реципиента public function get recipientReadyUpdates() : Vector.<CUEntity> {return _recipientReadyUpdates} } [Fault] exception, information=TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<data.characterUpdates::CUEntity>@7bc5281 to data.characterUpdates.CUEntity. Что за фигня? Никогда такого не встречал. Тип точно один и тот же. Единственное, что в векторе <CUEntity> могут встречаться экземпляры его наследников, но это никогда не мешало... В общем, я в полном тупике и не понимаю, где проверять. Спасибо.
__________________
Не сломано - не чини! |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну, у тебя вектор для элементов CUEntity, а ты суешь в него не CUEntity, а вектора.
_recipientMiscEffects.push (_contact.recipientReadyUpdates); Текст ошибки говорит сам за себя: "Не могу сконвертировать Вектор.<CUEntity> в CUEntity".
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
wolsh, привет, рад видеть
Спасибо, и правда. Как-то я неадекватно хелп понял. Специально про push почитал, что принимает он один или несколько элементов для добавления в массив. Но вот почему я решил, что эти "несколько" можно упаковать в вектор, сам не понимаю По итогу выкрутился топорно: пробежал через while и поэлементно перенёс, хотя это конечно порно.
__________________
Не сломано - не чини! |
|
|||||
а может быть проще будет сделать слияние?
__________________
while(live()) { hope(); } |
|
|||||
@ZergMaster ну создал ты новую коллекцию из двух, которую потом не используешь, и зачем?
__________________
местонахождение |
|
|||||
СлаваRa почему не используешь? Я так понял, человеку нужно было сложить два вектора, для чего он пытался использовать push, но когда не вышло - делает push перебором через while. Вот я и предложил использовать concat
__________________
while(live()) { hope(); } |
|
|||||
concat - не модифицирует исходный вектор, в отличие от splice
__________________
местонахождение |
|
|||||
а, ну да.
__________________
while(live()) { hope(); } |
Часовой пояс GMT +4, время: 10:58. |
|
« Предыдущая тема | Следующая тема » |
|
|