Следующий набор должен заставить Вас напряженно трудиться:
ФОРТРАН - Упрощенный язык, который был популярен в течение слишком многих лет в технических кругах
LISP - классический язык AI. Пролог был лучше, по моему мнению, но LISP был более популярен
, Ada - Дала мировые пакеты и дженерики и строгий ввод данных.
Алгол - Созданный для фиксации многих проблем с ФОРТРАНОМ. Это - дедушка C,
Все были чрезвычайно влиятельными языками в свое время.
В документации для moc указано, что в случаях множественного наследования класс, предоставляющий QObject, должен появляться первым
. Если вы используете множественное наследование, moc предполагает, что первый унаследованный class является подклассом QObject. Также, убедитесь, что только первый унаследованный class - это QObject.
// правильно класс SomeClass: общедоступный QObject, общедоступный OtherClass { ... };
Виртуальное наследование с QObject есть не поддерживается.
class foo: public QObject, public QXmlDefaultHandler
{
public:
foo();
~foo();
Q_OBJECT
public slots:
void bar();
}
As simple as it sounds, if you don't put QObject first in the inheritance list, this task is impossible. It's a limitation in Qt's meta object system. If you don't do this, the compiler will try to apply some members of QObject as part of QXmlDefaultHandler.