Как создать массив пользовательских классов в Action Script 3.0 - PullRequest
0 голосов
/ 01 апреля 2012

Я новичок в AS3 и получаю эту ошибку при попытке реализовать код стиля OO.

  Incorrect number of arguments.  Expected no more than 0.

Когда я пытаюсь:

var countries:Country = new Country(10);

Обычно это работает на Java или C ++, поэтому я не уверен, что случилось!?

Вот мой пользовательский класс.

пакет {

public class Country {

    var cName:String = "noName"; 
    public function Country() {
        // constructor code
    }

    public function setName(n:String):void {
        cName = n;
    }
    public function getName():String {
        return cName;
    }


}

}

Ответы [ 2 ]

2 голосов
/ 01 апреля 2012

Вы передаете 10 конструктору, а это не то, что вы хотите сделать. Чтобы создать массив экземпляров, попробуйте что-то вроде этого:

var countries:Array = []
var country:Country;
for (var i:uint = 0; i < 10; i++) {
    country = new Country()
    country.setName("Country_" + i);
    countries.push(country)
}
0 голосов
/ 01 апреля 2012

ваша функция конструктора public function Country() {} не имеет аргумента, но вы даете 10, должно идти не так.

массив ActionScript не похож на c ++, тип элемента не требуется <Country>

Вы хотите сохранить класс в массиве просто: var arr:Array = [new Country()]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...