Показать сообщение отдельно
Старый 20.04.2014, 23:02
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 32  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
Сообщение от in4core Посмотреть сообщение
Код AS3:
var v:Vector.<int> = new <int>[0,1,2];
			function a(c:String):void { }
			a(v[0]);
И да, проверил... прошло. А вектор в отличие от массива, у нас типизированный сука объект. О чем тут говорить то вообще?
не берусь сказать, что за сущность эта 'function a' при такой записи, раз компилятор не соизволит ее парсить (подозреваю что это что-то типа локальной переменной, которая может иметь в принципе любое значение, включая и сигнатуру)
но в нормальном раскладе не проходит
Код AS3:
public function Main():void 
{
	var v:Vector.<int> = new <int>[0,1,2];
	a(v[0]);// Error: Implicit coercion of a value of type int to an unrelated type String.
}
private function a(c:String):void {}
т.е. вектор таки типизированный и чтобы найти такую дыру, надо писать левой ногой немного поизвращаться..
ну и в остальных случаях обсуждаемой 'неоднородности' мне кажется все точно так же: во всех случаях непосредственного присвоения неявное приведение типов не работает, а работает в особых случаях, что бывает очень удобно