![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2005
Сообщений: 147
|
Есть некий класс, который называется Math. Внутри этого класса используется Top Level класс флеш плеера Math.
package toppack
{
public final class Math
{
static public function met(a:int):int{
var b:int = Math.floor(a/2); //здесь компилятор думает, что Math - это toppack.Math
return b;
}
}
}
package {
import flash.display.Sprite;
import toppack.Math;
public class Test_names extends Sprite
{
public function Test_names()
{
trace(Math.met(19));
}
}
}
Can not resolve a multiname reference unambiguously. Math (from E:\Programming\Flex Builder 2\Flex SDK 2\frameworks\libs\playerglobal.swc(Math)) and toppack:Math (from D:\_My Projects\FLASH\Flex Builder workspace\Testing\Test_names\toppack\Math.as) are available. 1120: Access of undefined property Math 1061: Call to a possibly undefined method floor through a reference with static type Class. Я даже понимаю откуда эти ошибки: компилятор считает что Math является класом toppack.Math (когда мне нужно использовать встроенный Math). Как избавится от этих ошибок без переименовывания своего класса toppack.Math? Flex проект: Последний раз редактировалось riden; 12.09.2007 в 01:49. |
|
|||||
|
стервочка (я мужик)
|
нельзя использовать названия топ-левел классов при создании своих.
|
|
|||||
|
Регистрация: Jun 2005
Сообщений: 147
|
Прискорбно. Спасибо за ответ.
P.S.: Хотя непонятно почему. Ведь Math и toppack.Math - разные классы. Но компилятор тупо думает, что Math == toppack.Math. Далее, следовательно он ненаходит нужные методы. И выдает ошибку, что мол не может понять какой класс вы имеете ввиду (Math или toppack.Math). P.S.2: Если написать так - trace(toppack.Math.met(19)), то первая и вторая ошибки исчезают, но остается ошибка в том месте где я прокоментировал в коде. Нельзя никак указать компилятору, что Math - это Math, а не toppack.Math? Последний раз редактировалось riden; 12.09.2007 в 01:48. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Нельзя, потому что Math лежит в глобальном пакете и текущий класс перекрывает его.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 04:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|