Показать сообщение отдельно
Старый 03.11.2004, 17:07   #1  
levsha is offline
levsha
Участник
 
22 / 14 (1) ++
Регистрация: 20.10.2003
Адрес: СПб
о компилируемости системных классов.
Судя по документации к классу List, статический метод merge этого класса занимается именно тем, что добавляет к одному объекту List содержимое другого объекта в случае если оба объекта представляют собой список одного типа, но...
PHP код:
static void Job1(Args _args)
{
    List 
list1 = new List(Types::STRING);
    List 
list2 = new List(Types::STRING);
    List 
list3;
    ;
    
list1.addEnd('1');
    
list2.addEnd('2');
    
list3 = List::merge(list1,list2);


выдает runtime error при вызове merge, говоря что класс List не имеет метода addBack().
Трассировка стека:
Classes\List\addBack
Classes\List\merge
Jobs\Job1

На самом деле обойти это надругательство конечно же несложно(как я понимаю со временем addBack превратился в addEnd, но забыли поменять все вызовы этого метода). Но, если я получаю такую ошибку, то это должно говорить о том, что класс List просто не компилируем - и это системный класс и это и в версии 2.5 и в версии 3.0...