У меня есть класс A, родитель класса B и класса C. У меня есть сигналы: объявленные и используемые в классе B и классе C. Но когда я пытаюсь написать другие сигналы: в классе A, это дает мне ссылку vtable ошибки. Я не могу записать макрос Q_OBJECT в файл .h, что приводит к ошибке.
Невозможно объявить сигнал в базовом классе
Ответы (1)
Поскольку вы не предоставили никакого кода, я просто сделаю дикое предположение.
Неопределенная ссылка на тип ошибок `vtable обычно возникает из-за того, что компилятор moc не генерирует код.
Я просто предполагаю, что вам нужно перезапустить qmake.
Также убедитесь, что этот файл включен в раздел HEADERS вашего .pro-файла.
person
O.C.
schedule
01.08.2011
Это правильно, каждый раз, когда вы добавляете макрос Q_OBJECT в класс, вам нужно перезапускать qmake.
- person Chris; 02.08.2011
Проблема в том, что когда я пишу метод сигнала, я получаю сообщение об ошибке, что метод не определен. компилятор обрабатывает его не как сигнал, а как метод экземпляра.
- person sujithkrishnan; 02.08.2011