программирование на Qt "vtable"

программирование qt

собственно код
заголовочный файл:
#ifndef TABLE_H
#define TABLE_H
#include <QObject>
class table : public QObject
{
Q_OBJECT
public:
table();
};

#endif // TABLE_H

и исходник

#include "table.h"

table::table():QObject()
{
}

собственно можно сказать только сел изучать и уже напоролся на траблу... мучаюсь с ней уже долго...

ошибка: error: undefined reference to `vtable for table'

нагугливал что у меня типа какой-то хлам в виртуальных функциях... но мне чет не понятно, где они... может кто подскажет как сие исправлять и что это значит)
Ответы:
Это ошибка линковки. Линкер не может найти код для класса table. Как исправлять - это зависит от среды и платформы, в общем, тебе по-любому надо изучать, как сишный код превращается в символы, что такое объектные файлы и библиотеки и как работает линкер, если ты хочешь стать сишником.
"undefined reference to vtable" означает, что вы пытаетесь создавать объект из абстрактного класса. Т. е. где-то есть класс
class BaseClass {virtual void x() = 0;};
и в вашем классе-потомке не переопределяется virtual void x().


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.