parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

пара замечаний

egr 16.12.2002 23:50

В общем вы правы, однако оптимизма это не прибавляет, ибо просто декларация $table[] в конструкторе базового класса ничего не даст, поскольку в парсере применяется динамическое связывание типов, т.е. при объявлении(декларации) нельзя указать тип переменной, - он определяется в ходе выполнения программы т.е. на стадии определения(присваивания значения) переменной. При такой декларации переменной присваивается тип void (а надо table) и как правильно говорит сообщение об ошибке, тип void не имеет метода menu.

Здесь вероятно могло бы помочь такое средство как явное указание типа при объявлении, однако такого средства в парсере нет, да и вряд-ли оно полезно здесь, хотя здесь я могу ошибаться.

Вообщем тут надо радикально менять логику работы кода использующего иерархии пользовательских классов, т.е. с применением наследования и полиморфизма. Чем видимо и придется заниматсья в ближайшее время ибо пути назад нету.